C语言自加赋值怎么讲

[复制链接]
查看11 | 回复4 | 2011-11-7 07:48:00 | 显示全部楼层 |阅读模式
i++是先将i的值运算后才自已加1,所以p=5+5+5=15++j是先将j加1然后再进行运算,所以q=6+7+8=21最后i和j的值都等于8...
回复

使用道具 举报

千问 | 2011-11-7 07:48:00 | 显示全部楼层
同一个表达式不要出现有歧义的++符号,因为先计算什么完全取决于编译器,写出这样的代码是非常不好的。不同的编译器计算的结果有可能不同。...
回复

使用道具 举报

千问 | 2011-11-7 07:48:00 | 显示全部楼层
错了吧?我用VC6.0编译出来的p是22.不过,不要这样写,没意义。要是参加工作绝对会挨批的。每个编译器的编译方式不一样,出来的结果就不一样。不过这个让我立即的话p应该是等于21.其他的对着呢!我也不知道为什么VC出现p=22.抱歉了!...
回复

使用道具 举报

千问 | 2011-11-7 07:48:00 | 显示全部楼层
p=(i++)+(i++)+(i++);相当于p=i+i+i;i=i+1;i=i+1;i=i+1;q=(++j)+(++j)+(++j);相当于j=j+1;j=j+1;j=j+1;q=j+j+j;...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行