使用while循环仅读取一行的第一个字符

时间:2017-06-28 23:44:00

标签: c

#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 statment,它只打印第一个字符并退出while循环。 使用if语句,它也只打印第一个字符并保持while循环。 为什么只打印第一个字母?为什么退出while循环,即使我没有输入'#'?

2 个答案:

答案 0 :(得分:0)

如果您不想向屏幕显示反馈,请使用getch代替getchar。但这是非标准的API。

答案 1 :(得分:0)

return 0;

应该在while循环之外,再加上你错过了main函数的结束括号。