如果我只按ENTER键会在C程序[getchar()]中发生什么?

时间:2012-09-19 14:55:36

标签: c

这是代码:

char ch;
ch = getchar() ;

如果我只输入Enter而不输入任何其他字符,输入会是什么?如果可能解释原因?

修改

我知道它输入了一个新的行字符,但我想知道为什么输入'\ n',如果我按'a'它输入'a'?如果有任何列表显示ENTER,SPACE.TAB等的输入

2 个答案:

答案 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。 这有帮助吗?我不确定这是否是你要找的答案。