疑问我写在代码块中了
#include
int main()
{
int a;
int b = 1;
a = b++; // 先返回一个值赋给a,b再自增,所以a = 1,b = 2;
printf("%d\n", a);
printf("%d\n", b);
return 0;
}
#include
int main()
{
int b = 1;
b = b++; // 这里可以拆成两个部分,先返回一个值,b再自增,结果应该为2
printf("%d\n", b); // 但是计算机给出的结果为1
return 0;
}
第一个程序的输出结果
1
2
第二个程序的输出结果
1
望采纳
b = (b++);
这样,自增运算就会先被执行,然后执行赋值运算,最后 b 的值就会变为 2。