int k; while(k++<10);答案为k=11。为什么呀?

img

k++ 表示 k先比较,后加1
++k 表示 先加1,后比较

循环结束条件是k=10,由于k++是k当前值先判断后再加1,所以跳出后k还会加1,等于11

当k = 10时
10 ++ < 10不成立但++依旧会执行
所以是11

k++表示返回k的值后再加1,所以k等于10时结束循环,然后k加1就是11

初始:k=1 k++<10 符合条件,第一次循环
k=2 k++<10 符合条件,第二次循环
...
k=10 k++<10 不符合条件,第十次循环
++在后所以需要再加1,k=11;
结束,输出k的值为11。
举个例子来说:
比如a=0,i=1;
a=i++;
输出a和i的值,a=1,i=2;
假如a=++i;
输出a和i的值,a=2,i=2;

望采纳!!

k++是后缀++ 意思是先取k的值,然后再加1
循环条件是k<10 当k为9的时候,9<10成立
k变成10 然后条件不成立,但是k还要再执行一次加1

k=10时
10++<10为假
跳出循环,
然后k为11