| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 187 人关注过本帖
标题:一个关于getchar的疑问
只看楼主 加入收藏
float_
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-5-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
一个关于getchar的疑问
#include <stdio.h>

int main()
{
    int i;
    char c=getchar();
    while(c!='\n')
    {
        i++;
    }
    printf("%d",i);
}


#include <stdio.h>

int main()
{
    int i;
    char c;
    while(c=getchar()!='\n')
    {
        i++;
    }
    printf("%d",i);
}
大佬为什么上面那个程序会出现问题啊?
搜索更多相关主题的帖子: 疑问 printf while int getchar 
2022-05-08 22:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:405
帖 子:13562
专家分:52594
注 册:2012-10-18
收藏
得分:10 
回复 楼主 float_
没有循环退出条件啊

DO IT YOURSELF !
2022-05-09 08:46
不会游泳的虾
Rank: 4
等 级:业余侠客
威 望:8
帖 子:47
专家分:249
注 册:2021-7-1
收藏
得分:10 
见注释,供参考:
程序代码:
#include <stdio.h>
int main()
{
    int i;
    char c = getchar();
    while (c != '\n') //这里如果第一次输入的不是回车换行符'\n',
    {                 //循环里再没读入语句,就死循环了。
        i++;
    }
    printf("%d", i);
}


#include <stdio.h>
int main()
{
    int i;
    char c;
    while ((c = getchar()) != '\n') //while (c = getchar() != '\n')
    {                                //这里缺了一对 (),(c=getchar())
        i++;
    }
    printf("%d", i);
}
2022-05-09 09:10
float_
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-5-8
收藏
得分:0 
回复 2楼 wp231957
明白了谢谢大佬
2022-05-10 12:54
float_
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-5-8
收藏
得分:0 
回复 3楼 不会游泳的虾
谢谢谢谢,我明白了
2022-05-10 12:54
快速回复:一个关于getchar的疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027199 second(s), 8 queries.
Copyright©2004-2022, BCCN.NET, All Rights Reserved