#include
int main( )
{
int c;
printf( "Enter a value :");
c = getchar();
printf( "\nYou entered: ");
putchar( c );
printf( "\n");
//为什么输入enter就结束了?
//putchar没有发挥作用
}
你如果直接按回车的话,c是接收了,但是打印的时候看不出来。
你得调试,然后再监视里看c的取值,你就可以看到\n
类型定义错误,getchar是对字符使用而你定义的是int型改为char c;
变量c的类型不对,int是整型,只能输入数字且有效数值在0-256,putchar是获取字符,所以没法输出字符,压根就没有存储到c中,或者说c中就没有字符。
换行符 '\n' 不会显式显示在屏幕上,实际是光标换入了下一行里,把putchar(c); 改为输出ASCII码值是可以看到的:printf( "%d\n",c);//putchar( c ); 会输出:10
getchar()
函数是从标准输入流中读入一个字符,如果你输入回车,读入的字符是\n
,\n
是不可见字符,putchar()
打印\n
字符就是让光标移到下一行行首。