开发者社区> 问答> 正文

这个程序为什么不能跳过回车(换行符)的输入?

//修改程序清单中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;
}

展开
收起
a123456678 2016-03-23 15:46:19 1986 0
1 条回答
写回答
取消 提交回答
  • 逻辑有问题,假如输入 空格空格回车a回车,则不能返回a。

    while(ch=getchar())
    {
    if(isblank(ch) || ch =='\n')
    continue;
    else
    break;
    }
    return ch;
    2019-07-17 19:11:22
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载