繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM