木舟君 发表于 2021-10-17 17:20:13

新手求助

本帖最后由 木舟君 于 2021-10-17 17:29 编辑

#include <stdio.h>

intmain() {
        int x;
        int y;
        int a, b, c;
        a = x / 100;
        b = x / 10 % 10;
        c = x % 10;
        printf("Please input a num:");
        scanf("%d", &x);
        y = 100 * c + 10 * b + a;
        printf("y=%d\n", y);
        return 0;
}做的这个三位数倒序输出不管输啥输出的都是很大的数字,有没有懂哥帮一下{:10_266:}

傻眼貓咪 发表于 2021-10-17 17:37:18

因为你先算公式,才赋值 x 和 y 啊(x 和 y 还没赋值之前,如果不是全局变量,就会是随机值啊!算法公式应该在赋值之后,不是之前)

木舟君 发表于 2021-10-17 17:39:11

傻眼貓咪 发表于 2021-10-17 17:37
因为你先算公式,才赋值 x 和 y 啊(x 和 y 还没赋值之前,如果不是全局变量,就会是随机值啊!算法公式应 ...

{:5_95:}谢了

傻眼貓咪 发表于 2021-10-17 17:39:32

哪里有人先吃饭,才煮饭?

TyCk 发表于 2021-10-18 10:11:46

楼主可以了解下全局变量和局部变量在只声明不赋值后的系统自动赋初值的区别。
以整数为例,全局会自动赋值为0,局部则使用内存中的现有值,一般是垃圾值。

楼上解决了问题,建议楼主及时采纳哟。

阿萨德按时 发表于 2021-10-18 11:13:21

{:10_277:}

myqf123 发表于 2021-10-23 14:21:23

{:10_334:}

myqf123 发表于 2021-10-23 14:22:01

{:10_277:}

AdiosSpike 发表于 2021-10-23 15:06:39

{:10_334:}

han125416866 发表于 2021-10-23 19:01:40

{:5_103:}
页: [1]
查看完整版本: 新手求助