ASCII码打印逻辑

时间:2014-06-24 10:35:34

标签: c++ c

我确实写过这个程序,但现在我对它有点困惑。在下面给出的代码中,我写了两个不同的语句,在屏幕上打印字符串,第一个没有打印任何东西,但第二个打印一个符号。

#include<iostream.h>
main(){
       int i = 1; char c;
       cout << c << endl;
       while (i <= 255){
         c = i;
         cout << c << endl;
         i++;
       }
}

请解释一下这个程序的逻辑。我是'C'语言的初学者,所以请详细解释给我。 感谢

3 个答案:

答案 0 :(得分:1)

请参阅您的程序,因为您尚未初始化char c;

必须在打印前初始化或保留一些值!

   int i; char c;
   i = 1;
   cout << c << endl;     // initialsise c=something of char-type;
   c = i;
   cout << c << endl;     //as initialised,so prints something

其次,因为你初始化了这个char变量c。因此,它打印一些符号,可能是ASCII字符!

答案 1 :(得分:0)

首先cout << c << endl;打印未初始化的值c(它可能为零,因此您不会看到任何内容)。但是第二次调用此指令会打印值(char) 1(您可以看到它)。

答案 2 :(得分:0)

当您最初打印字符'c'时,它没有任何值。如果没有在字符中初始化任何内容,那么它将获取垃圾值。之后

int i=1;
char c = i;

它在变量'c'中存储1,但因为它是一个字符所以在打印'c'时它显示的ASCII值为1,这是☺

与做 - &gt;

相同
cout << (char)i <<endl;

如果要打印ASCII表,则此代码可能有帮助

for(int i = 1; i <= 255; i++) {
     cout<<"ASCII VALUE OF "<<i<<" is "<<(char)i <<endl;
}