代码中常有类似的如下的输入循环
char c;
while((c=getchar())!=EOF)....
如果输入 字符+换行时,循环的代码会执行两次,主要是换行键作为字符存到了缓存队列中,第一次c为输入的值,第二次c为换行符 ,可以通过fflush(stdin);清除
EOF在linux下为ctrl+D window下为ctrl+z
这种循环写法虽然比较标准,但是感觉有点笨重
一般情况下可以改写如下:
char c;
while((c=getchar())!='\n').....
顺便说下C语言中单引号和双引号的区别,单引号主要表示字符,双引号主要表示字符串
‘\n'表示一个字符,也就是换行,”\n“,包括 '\n' 和'\0' ,'\0' 为字符串的结束符,一般系统自动添加