请问这道题为什么不先计算b++,要先计算a=a/b呢?设int a=11,b=2,执行 do a/=b++; while(a>b); printf("%d,%d\n",a,b); 输出结果是()

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 20:45:10
请问这道题为什么不先计算b++,要先计算a=a/b呢?设int a=11,b=2,执行 do a/=b++; while(a>b); printf(

请问这道题为什么不先计算b++,要先计算a=a/b呢?设int a=11,b=2,执行 do a/=b++; while(a>b); printf("%d,%d\n",a,b); 输出结果是()
请问这道题为什么不先计算b++,要先计算a=a/b呢?
设int a=11,b=2,执行 do a/=b++; while(a>b); printf("%d,%d\n",a,b); 输出结果是()

请问这道题为什么不先计算b++,要先计算a=a/b呢?设int a=11,b=2,执行 do a/=b++; while(a>b); printf("%d,%d\n",a,b); 输出结果是()
b++执行过程是先完成所在式子的计算,然后再b+=1,换句话说b++在式子中的返回值是b,而不是b+1
所以a/=b++; 这个会先执行完a/=b,然后再b+=1
如果要想先计算b++,可以把b++改成++b试试