仅读取带有while循环的行的第一个字符 #包括 #包括 int main() { char ch; 整数计数; 而((ch=getchar())!='#') { //如果('\n'==ch) //继续; printf(“%c\n”,ch); 返回0; }
用于输入,如“abc/n”仅读取带有while循环的行的第一个字符 #包括 #包括 int main() { char ch; 整数计数; 而((ch=getchar())!='#') { //如果('\n'==ch) //继续; printf(“%c\n”,ch); 返回0; },c,C,用于输入,如“abc/n” 如果使用out if语句,则只打印第一个字符并退出while循环。 使用if语句时,它也只打印第一个字符并停留在while循环中。 为什么只打印第一个字母?为什么即使我没有输入“#”也要退出while循环?如果不想向屏幕显示反馈,请使用getch而不是getchar。但这是非标准API #include <stdio.h> #include <stdlib.h> int main() { char ch; int count;
如果使用out if语句,则只打印第一个字符并退出while循环。 使用if语句时,它也只打印第一个字符并停留在while循环中。
为什么只打印第一个字母?为什么即使我没有输入“#”也要退出while循环?如果不想向屏幕显示反馈,请使用
getch
而不是getchar
。但这是非标准API
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
int count;
while ((ch = getchar()) != '#')
{
//if('\n' == ch)
//continue;
printf("%c\n",ch);
return 0;
}
应该在while循环之外,而且您缺少了main函数的结束括号。发布的代码在循环体中有
返回0;
。发布的代码无效,甚至无法编译。getchar
返回一个int
,而不是char
,原因很充分!结果不适合char
(除非两种类型的范围相同)。“它只打印第一个字符并退出while循环”+printf(“%c\n”,ch);返回0;
==有意义,代码打印然后退出。建议将return
语句移到循环外部。
return 0;