木舟君 发表于 2021-10-8 18:47:07

新手求助

这个++位置不一样是不是结果也不一样,然后这i跟j的输出数字为啥也变了啊,明明它俩也没赋值啊{:10_285:} {:10_266:}

柿子饼同学 发表于 2021-10-8 19:07:09

i ++ 是先执行 , 然后自增 1
++ i 是先自增 1 , 然后执行
i = 8 时 , ++i 先给自己加一 , 变成 9 , 然后 m 等于它
一个数字它只会存放一个内存 , 当 m = 9 时 , 上面的 i 也为 9
j 同理

傻眼貓咪 发表于 2021-10-8 19:32:01

本帖最后由 傻眼貓咪 于 2021-10-8 19:34 编辑

#include <stdio.h>

int main()
{
    int a = 13, b = 13;
    int x, y;
   
    x = ++a; //先让 a 加 1,才赋值于 x
    y = b++; //先赋值 y,才让 b 加 1
   
    printf("%d\n", x);
    printf("%d", y);
   
    return 0;
} x = ++a (表示 x 赋值 a+1 的值),y = b++(表示 y 赋值 b 的旧值,然后 b = b+1)
页: [1]
查看完整版本: 新手求助