这个C语言程序的答案看不懂,希望好心人帮忙解释一下哦,急用,非常感谢!

main(){inti,k;i=3;k=++i+(++i);pintf("k=%d,i=%d\n",k,i);k=i+++(++i);pintf("k=%d,i=%d\n... main()
{int i,k;
i=3;
k=++i+(++i);
pintf("k=%d,i=%d\n",k,i);
k=i+++(++i);
pintf("k=%d,i=%d\n",k,i);

运行后结果是:10 ,5
12 ,7
展开
 我来答
阳光下的月色
2009-10-28 · TA获得超过617个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:601万
展开全部
对于k=++i+(++i),++的优先度比+要高,所以等同于(++i)+(++i),说白了就是i先自加,然后i再自加,然后i再加上i赋给k,两个5相加,等于10

对于i+++(++i)和前面就一样了,i的值现在是5,i++可以无视掉,因为它是先参与运算才赋值的,所以知道k被赋值,第一句i自加都是不进行的,然后加上++i,也就是i先自加,现在i的值是6了,i+i就=12,然后++i生效,i=7。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式