若k为int型变量且赋值11,那么k++的表达式的值是(11),变量k的值是(12)。为什么,请教高人

如题所述

k++的执行顺序是先引用后自增,所以表达式的值是11,k自增后变成12;
与之相反的是++k,先自增后引用,表达式和k值都是12。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-15
当++运算符出现在变量的后面时,表示后加.也就是先把k的值拿去用,再对k进行加1操作.如
x = k++;
其实这句话相当于是下面的两句话.
x = k;
k = k + 1;
第2个回答  2011-02-15
k++是先运算后加,比如给x赋值x=k++;
在运行时实际是这个样子的
x=k
k = k+1;本回答被提问者采纳
第3个回答  2011-02-16
k++; // 语句
等同 k=k+1;
---------------------
int k=11;
k++;
printf("%d",k);
打出k 12
-------------------
如果:
int i,k=11;
i = k++; // 这里k++ 是表达式, 处理成"后加加",k=11值不变
// 因为"后加加",执行上一句结束后,k才增1
printf("%d",i);
打出i 11
printf("%d",k);
打出k 12
第4个回答  2011-02-17
很简单:
a = k++ 表达式理解为:先把k的值11传给变量a,再k自加1即k的值会为12
同理
a = ++k表达式理解为:先把k自加1即k的值会为12,再把K的值12赋给a。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网