慕工程5151769
2018-12-31 23:00
单独写一个
#include <stdio.h>
int main()
{
int a = 100;
printf("a=%d\n",a++);
return 0
} 结果还是100 说好的自增呢 不是说
a++还是++a都等于 a=a+1吗 既然a得值是100 结果不应该是a=100+1 所以 a=101的吗
a++ 是取值后在运算 所以 a=100 ,
例如:C语言中a=1,a=a+++1,a+++1这两个有什么区别,前者值是3,后者是2
a=a+++1:先a++,a变为2 (即这个a++完了以后,a已经变成了2),然后开始2+1,然后再将2+1赋给a;
而a+++1:则是先a++,即a变成了2,然后加1,因为加1后并没有赋值给回a,所以a还是2。
因为你的表达式中a没有将取得的值再一次赋值给回a,但如果你是++a,那么程序中的结果就是101了
首先a++是输出a=100在加1,所以第一个结果是100,但运行下条语句时a的值已经是101了
C语言入门
926215 学习 · 20797 问题
相似问题