标题:一个关于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: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
回复 楼主 float_
没有循环退出条件啊

DO IT YOURSELF !
2022-05-09 08:46
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:101
专家分:643
注 册: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509031-1-1.html




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

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