这是代码:
char ch;
ch = getchar() ;
如果我只输入Enter而不输入任何其他字符,输入会是什么?如果可能解释原因?
修改
我知道它输入了一个新的行字符,但我想知道为什么输入'\ n',如果我按'a'它输入'a'?如果有任何列表显示ENTER,SPACE.TAB等的输入
答案 0 :(得分:3)
你会得到换行符 - '\n'
。
答案 1 :(得分:1)
我可以假设您熟悉ASCII吗?
这就是你得到的。 getchar()
为您输入的任何字符返回一个整数(ASCII)值。例如,如果你有这个代码:
void main()
{
char ch;
while(1){
ch = getchar();
printf("%c, %#x\n",ch,(int)ch);
}
return;
}
您可以输入说'4'并将其视为表示为
4, 0x34 (integer representation of '4')
同样,这适用于\ n或\ t或任何其他人。如果你输入\ t你会看到:
, 0x9
该字符是一个标签,因此您不会看到它显示,但getchar()
确实抓住了标签,您可以看到它是我们所期望的0x9。
这有帮助吗?我不确定这是否是你要找的答案。