[英]Reading Only the First Character of a Line with while loop
#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;
}
对于“ abc / n”之类的输入,如果没有if语句,则仅打印第一个字符并退出while循环。 使用if语句,它也只打印第一个字符并停留在while循环中。 为什么只打印第一个字母? 为什么即使我没有输入“#”也退出while循环?
如果您不想在屏幕上显示反馈,请使用getch
代替getchar
。 但这是非标准的API。
return 0;
应该在while循环之外,再加上您缺少main函数的右括号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.