问题描述
- 这个程序为什么不能跳过回车(换行符)的输入?
-
//修改程序清单中8.8中的get_first()函数,使其返回所遇到的第一个非空白字符 #include<stdio.h> #include<ctype.h> char get_first (void); int main (void) { char ch = NULL; ch = get_first(); putchar(ch); return 0; } char get_first (void) { int ch = NULL; ch = getchar(); while (isblank(ch)) ch = getchar(); while (getchar() != 'n') continue; return ch; }
解决方案
isblank()不处理回车,用isspace
解决方案二:
逻辑有问题,假如输入 空格空格回车a回车,则不能返回a。
while(ch=getchar())
{
if(isblank(ch) || ch =='n')
continue;
else
break;
}
return ch;
时间: 2024-12-02 17:55:05