永发信息网

大虾们看下非常简单的程序y=(++i)+(++i)+(++i);

答案:3  悬赏:20  手机版
解决时间 2021-05-04 20:04

#include <iostream.h>
main()
{
int i,y;
i=1;
y=0;
y=(++i)+(++i)+(++i)+(++i);
cout <<y;
}//这个是在vc6.0下编译的

#include "stdio.h"

main()
{
int i,y;
i=1;
y=(++i)+(++i)+(++i);
printf("%d",y);
}//这个我是在win -tc下编译的

两个的答案都不是9,我就郁闷了,谁能给个确切的解释啊......

最佳答案

这个C的编译方式有关,


上面一个答案是20,下面的是12


因为在执行y=(++i)+(++i)+(++i);时候,括号在这里具有最高优先级,所有括号里面的表达式先计算,也就是说先执行3个 ++i,这时候i就等于4了,然后才执行加号运算符,也就是y=4+4+4 结果就是12.


上面的也是这道理。

全部回答

这种问题跟编译的环境有关,如果是全国等级考试都以turo c的为标准!!

vc 下是这样加的

3+3+4+5所以答案是15

tc很少用

你可以通过输出汇编文件来分析

编译器是如何处理语法的

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
明天中国南车会怎么样
急求文雅的情侣昵称 谢谢
今年什么时候结婚最好
DNF怎样强化装备?
好友买卖时、我有时候折磨奴隶可以送十个小时
辉县农村商业银行常村支行地址有知道的么?有
3G沃是什么时候出的?
开网吧都需要哪些设备?具体哪些
丝路英雄中外城的20级各资源地每小时生产是多
什么是标准物质,纺织品检测实验室都有哪些标
佳美购物中心地址在哪,我要去那里办事
我电脑的鼠标怎么有时候不能动了
frp格式文件用什么打开的
我想把图标都影藏了、
什么是等比定理?
推荐资讯
求到数学题??????????、
c语言反汇编程序。。。。
腾飞批发部我想知道这个在什么地方
名言小故事有哪些
QQ第1代密码问题不记得了怎么办?
预测2010年快男冠亚季军?
怎么才能抹干净笔记本电脑屏幕的指纹?
喝红茶茶叶是不是
为什么有时候想哭却哭不出来。?
三国正传里面有真三国无双5里的许都侵攻战么
当人对自己产生了自卑感,怎么办?原因是因为
凤鳖巢甲鱼馆汉口NO.1这个地址在什么地方,我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?