永发信息网

关于C语言的一道题

答案:3  悬赏:40  手机版
解决时间 2021-08-14 13:58

main(){

  int i=8;

  printf("%d\n",++i);

  printf("%d\n",--i);

  printf("%d\n",i++);

  printf("%d\n",i--);

  printf("%d\n",-i++);

  printf("%d\n",-i--);

 } 

 

 

希望有朋友帮我解答一下。为什么

结果为9,8,8,9,-8,-9

 

最佳答案

第一个输出:++i,先加1,然后输出,为i=8+1=9;


第二个输出:--i,先减1,然后输出,为i=9-1=8;


第三个输出:i++,先输出i的当前值8,然后加1,此时i=8+1=9;


第四个输出:i--,先输出i的当前值9,然后减1,此时i=9-1=8;


第五个、第六个的情况和第三个、第四个类似,不同的只是输出多了一个负号。


全部回答

++i在使用之前+1,i++在使用后+1, 反之-也一样。

如题:++i ,提前+1,所以输出9,i==9;

--i同理,i==8;

i++,使用后再加1;i==8;

i--,此时,上面的原因 i自加1,所以i==9;

到这想必明白了。

前缀和后缀的问题

前缀是先加后运算,后缀是先运算后加

要注意每次的输出i都是在变

printf("%d\n",++i);    //先加再运算 所以打出的结果是9

printf("%d\n",--i);;    //先减再运算 所以打出的结果是8

printf("%d\n",i++);    //先运算再加,所以打出的结果是8 (实际上i已经变成9了)

后面的一样的道理

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
亲情和爱情那个重要些
哪里有歌曲loving you的完整版?一般搜到的都
保护大树的标语,幼儿园大大班语言教案诗歌大
商城县信阳顺达驾校在什么地方啊,我要过去处
我空间里那首歌的名字叫什么???急!!
给老师中秋祝福语,中秋节给老师的祝福语10字
二轮摩托车年审在外省可以审吗
手机为什么会自动下载网泰杀毒?
龙胜各族自治县桂林天长地久婚纱摄影(龙胜店)
描写开朗的人的段落,描写人开朗句子
我以前用的浏览器是IE8,后来换了360浏览器,
蜂蜜怎样喝好呢?
怎莫去疤痕?要实用便宜!
袖珍妹妹的明星梦,兰丽华是湖南新宁哪个镇的?
有没有包住的暑期工打?好急,盼回!寒酸点,
推荐资讯
潜江市长城润滑油潜江市浩洋商贸有限公司哪位
发烧会增高?
两条射线或线段平行,是指()平行
笔记DJ版的混音DJ歌曲是什么
{QQ三国游戏}
索爱U5i的原装耳机是怎么样的?
关于国服第一阿修罗“原味”的
陈冠希Clot联名Levis 505丹宁牛仔裤是否为限
请问在流产后,然后坐完了一个月的月子。之后
天龙八部杀跑问题
生活中缺少什么议论文,在美国的山景城和西雅
松北区哈尔滨浪花朵朵儿童水育游乐园地址在哪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?