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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/01 06:52:31
请问这道题为什么不先计算b++,要先计算a=a/b呢?设inta=11,b=2,执行doa/=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++,要先计算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试试