吻你不厌 发表于 2020-10-22 13:41:37

?

#include<stdio.h>
#include<stdio.h>
int main()
{
        int ch;
        int i = 0;
        int j = 1;
        printf("请输入合法的数字:");
        while(j)
        {
                if((ch = getchar()) >= '0' && (ch = getchar()) <= '9')
                {
                        i = i + ch;
                        printf("请输入合法的数字:");       
                }
                else
                {
                        j = 0;
                        printf("结果是:%d",i);
                }
        }       
       
       
        return 0;
}
为什么我这样写有bug呢?

昨非 发表于 2020-10-22 15:01:25

if和else内容写反了吧

昨非 发表于 2020-10-22 15:03:58

if里是
i=i+ch;
打印结果
j=0
else里
请打印正确结果

吻你不厌 发表于 2020-10-22 16:15:25

昨非 发表于 2020-10-22 15:03
if里是
i=i+ch;
打印结果


不是,我想叠加输入的结果的

风过无痕1989 发表于 2020-10-22 22:55:10

除多了一个 #include<stdio.h> 外,程序没有错误

吻你不厌 发表于 2020-10-23 14:42:20

风过无痕1989 发表于 2020-10-22 22:55
除多了一个 #include 外,程序没有错误

程序是没错,主要是不能达成目的啊
页: [1]
查看完整版本: ?