这是代码:
char ch;
ch = getchar() ;
如果我只按 Enter 而不输入任何其他字符,输入会是什么?如果可能解释为什么?
编辑:
我知道它输入了一个换行符,但我想知道为什么当我按'a'时输入'\n'它输入'a'?如果有任何列表显示 ENTER、SPACE.TAB 等的输入。
这是代码:
char ch;
ch = getchar() ;
如果我只按 Enter 而不输入任何其他字符,输入会是什么?如果可能解释为什么?
编辑:
我知道它输入了一个换行符,但我想知道为什么当我按'a'时输入'\n'它输入'a'?如果有任何列表显示 ENTER、SPACE.TAB 等的输入。
你会得到换行符 - '\n'
。
我可以假设您熟悉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,正如我们所期望的那样。这有帮助吗?我不确定这是否是您要寻找的答案。