c语言初学者的小问题

img

想问下各位这个程序有什么问题啊,运行出来的结果一直是1,发给chatgpt也找不出问题

这代码风格看着好别扭,你输入什么数据了,你输入的数据格式要和scanf()里面的格式一致,比如你的代码,输入一个数据你要输入逗号隔开再输入下一个数据,如:1,2 。逗号是英文还是中文

scan后面输出a,b的值看看

你输入的时候注意要有逗号,比如
1,2

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    您好!这个问题的原因很简单,因为您的程序只是将a和b的和赋值给了c,而a和b的值一直没有变化,所以每次输出的结果都是3。为了解决这个问题,您需要让a和b在每次循环中都更新一下,这样才能得到正确的结果。您可以在循环中加上a和b的赋值语句,让它们的值在每次循环中都加1,以下是修改后的代码示例:

    #include <stdio.h>
    int main()
    {
        int a, b, c;
        a = 1;
        b = 2;
        for(int i=0; i<10; i++) {//循环10次
            c = a + b;
            printf("%d\n", c);//每次输出结果
            a++;//a自增1
            b++;//b自增1
        }
        return 0;
    }
    

    以上代码中,我们使用了for循环来让程序重复执行10次,每次输出a和b的和,并且在每轮结束时让a和b自增1,以便在下一轮循环中得到正确的结果。

    希望这个解决方案能帮助到您!如果您有任何疑问,请随时向我提出。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^