++++
#include <stdio.h>int main()
{
int a,x=11;
x=x++;
a=x++;
printf("%d\n",x);
printf("%d\n",a);
}
运行结果x=12,a=11,为什么
#include <stdio.h>
int main()
{
int a,x=11;
x=x+++1;
a=x++;
printf("%d\n",x);
printf("%d\n",a);
}
运行结果x=14,a=13,为什么 #include <stdio.h>
int main()
{
int a, x = 11;
x = x++; // 先运算,后自增,x = 12
a = x++; // 先运算,后自增,a = 12, x = 13
printf("%d\n", x);
printf("%d\n", a);
}
#include <stdio.h>
int main()
{
int a, x = 11;
x = x++ + 1; // 先运算,后自增,x = 13
a = x++; // 先运算,后自增,a = 13, x = 14
printf("%d\n", x);
printf("%d\n", a);
} 本帖最后由 WindyJane 于 2021-1-14 22:03 编辑
请看 代码后面的注解.
#include <stdio.h>
int main()
{
int a,x=11;
x=x++;//x=x,x=x+1; //x=11 a=? 因为未初始化,不懂得话就当0
a=x++;//a=x,x=x+1; //a=11, x=12
printf("%d\n",x);
printf("%d\n",a);
}
运行结果x=12,a=11,为什么
#include <stdio.h>
int main()
{
int a,x=11;
x=x+++1;//x=x+1,x++;// x=12,x=13;
a=x++;//a=x,x++;//a=13 ,x=14;
printf("%d\n",x);
printf("%d\n",a);
}
如果感觉回答比较满意,记得给个最佳答案,当做给我的肯定,谢谢~{:10_281:} 风过无痕1989 发表于 2021-1-14 21:07
不对吧,
第一种情况下,我vs输出a=11不是12
第二种情况下,我vs输出x=13,a=12 WindyJane 发表于 2021-1-14 21:16
请看 代码后面的注解.
#include
int main()
a 无须初始化! 昨非 发表于 2021-1-14 21:32
不对吧,
第一种情况下,我vs输出a=11不是12
第二种情况下,我vs输出x=13,a=12
看我的运行
本帖最后由 昨非 于 2021-1-14 21:43 编辑
风过无痕1989 发表于 2021-1-14 21:37
看我的运行
玄学? 昨非 发表于 2021-1-14 21:40
玄学?
它是 x = x++,虽然是先运算,后自增,它运算完了,x = 11,然后自增,自增完了,x = 12, 来来回回都是 x,并没有赋给其他某个变量。若是运算完后将值赋给了其他的变量,那就是 11 风过无痕1989 发表于 2021-1-14 21:33
a 无须初始化!
我只是说a,没有初始话,并没说需要初始化, 这个是个人习惯,有的时候人脑力逻辑跟不上的时候可以靠好的习惯避免,一些不必要的错误.
页:
[1]