我确实写过这个程序,但现在我对它有点困惑。在下面给出的代码中,我写了两个不同的语句,在屏幕上打印字符串,第一个没有打印任何东西,但第二个打印一个符号。
#include<iostream.h>
main(){
int i = 1; char c;
cout << c << endl;
while (i <= 255){
c = i;
cout << c << endl;
i++;
}
}
请解释一下这个程序的逻辑。我是'C'语言的初学者,所以请详细解释给我。 感谢
答案 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;
}