永发信息网

C语言的题目;那个i=13;printf(“%d%d”,i++,i)结果应该是什么?

答案:6  悬赏:0  手机版
解决时间 2021-03-10 23:43
C语言的题目;那个i=13;printf(“%d%d”,i++,i)结果应该是什么?
最佳答案
输出结果:13,13


问题 “可是从后往前运行不应该是1413么?”


1、i++ 含义:
先使用 i,然后 i 自增;即先输出 i,然后 i += 1;
2、想要输出14,13?
则需修改代码:
int i = 13;
printf("%d, %d", ++i, i);
全部回答
1314
第一个i为后置自加输出(运行到i++)后i自加1为14追问不对啊。。答案是1313追答从右到左吗?
13 13
Printf语句是从右往左输出的
1314
printf 从后往前运行
int main(){
int i=13;
printf("%d %d",i++,i--);
}
这个是 12,13追问可是从后往前运行不应该是1413么?追答上面的题目答案:
运行平台不同,答案不同,
我的vs2010 答案是13,14
但是我知道vc 答案应该是13,13
所以我想我也说不清楚了。
我想在也搞不清楚了,但是printf确实是从后往前运行的,
比如
int main(){
int i=13;
printf("%d %d",i++,i--);
}
这个是 12,13
你给的例子是13 14 。。
这里有原因。。。
使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左。Turbo C是按从右到左进行的。请看下面两个例子:
例1
main(){
int i=8;
printf("%d %d %d %d %d %d ",++i,--i,i++,i--,-i++,-i--);
}
运行结果
8
7
7
8
-7
-8

例2
main(){
int i=8;
printf("%d ",++i);
printf("%d ",--i);
printf("%d ",i++);
printf("%d ",i--);
printf("%d ",-i++);
printf("%d ",-i--);
}
运行结果:
9
8
8
9
-8
-9

这两个程序的区别是用一个printf语句和多个printf 语句输出。但从结果可以看出是不同的。为什么结果会不同呢?就是因为printf函数对输出表中各量求值的顺序是自右至左进行的。在第一例中,先对最后一项“-i--”求值,结果为-8,然后i自减1后为7。 再对“-i++”项求值得-7,然后i自增1后为8。再对“i--”项求值得8,然后i再自减1后为7。再求“i++”项得7,然后i再自增1后为8。 再求“--i”项,i先自减1后输出,输出值为7。 最后才求输出表列中的第一项“++i”,此时i自增1后输出8。
但是必须注意,求值顺序虽是自右至左,但是输出顺序还是从左至右,因此得到的结果是上述输出结果。
程序运行号显示:13 13
13 13
printf的计算是从右到左
printf打印机制是先查找 打印参数%d %s 有几个,假如n个
再从printff 变量列表从右往左计算,最后取 前n个的值

i=1
printf("%d %d ",i++,i,i--);
结果是 0 0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
广东省环境保护职业技术学校的学费、住宿费..
诛仙2怎么诸钓灵鱼
开通飞信会员后怎么取消会员 但不取消飞信?
旭峰花园广场(东门)地址有知道的么?有点事想
镇江大港 英皇里面洗澡怎样
石硖﹣﹣玉林龙眼的优良品种,石硖所结的果实
最近有一首很红的韩文歌好像叫higher
订阅号可以开商城吗
小狗身上的毛飞得到处都是,对人体是不是有伤
小时候我妈妈经常说我是野地里捡来的孩子!
朱瓦村地址有知道的么?有点事想过去
高尔夫7近光灯怎么照得远近不一样
会计凭证中金额计算错误,怎么更正阿
现在同价位的Ipad air2和mini4,选哪个好
做药店的营业员,是长春义善堂大药房好还是吉
推荐资讯
2015阳历是9月十号农历是多少
从普洱到孟连多少公里
伊代表什么意思
飞肯摩托专卖店地址有知道的么?有点事想过去
和女友吵架,没次都说分,但是过段时间就和好
江西香辣小炒在哪里啊,我有事要去这个地方
家里养的珍珠鸟可不可以自己孵化雏鸟
从一个公司辞职但是还没找到下一个公司,那么
Seven Wonders of Britain是一个视频,跪求第
阜阳市太和三小2016五年级语文期末试卷
考小学教师资格证简单点还是中学教师资格证简
梦见自己受伤流血
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?