代码之家  ›  专栏  ›  技术社区  ›  ArekBulski

为什么不打印也不终止?

c++
  •  -3
  • ArekBulski  · 技术社区  · 4 年前

    今天我接受了辅导,我们写了一段小代码。它的作用是显而易见的,所以我不会详细解释。在我运行它并输入一些内容之后,它不会打印任何内容,也不会终止。如果我把chars换成int,效果很好。这个代码怎么了?

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
        cout << "wpisz zdanie: ";
        string zdanie;
        getline(cin, zdanie);
    
        int tab[256];
        for(char i=0; i<=255; i++)
        {
            tab[i] = 0;
        }
    
        for(int i=0; i<=zdanie.size()-1; i++)
        {
            tab[zdanie[i]]++;
        }
    
        for(char i=0; i<=255; i++)
        {
            if(i>='0' && i<='Z')
            {
                cout << (char)i << " -> " << tab[i] << endl;
            }
        }
    
        return 0;
    }
    
    1 回复  |  直到 4 年前
        1
  •  2
  •   Remy Lebeau    4 年前

    这里的问题是 char unsigned char int .