main() { int i=1; printf("%d,%d\n",i,i ); }

请问为什么这个在vc上输出是1,1.而不是2,1,printf中参数从右往左计算,i的值不应该变成2了吗?main(){inti=1;printf("%d,%d\n",i... 请问为什么这个在vc上输出是1,1.而不是2,1,printf 中参数从右往左计算,i的值不应该变成2了吗?
main() { int i=1; printf("%d,%d\n",i,i++ ); }
请问为什么这个在vc上输出是1,1.而不是2,1,printf 中参数从右往左计算,i的值不应该变成2了吗?
展开
 我来答
GTA小鸡
高粉答主

2018-03-08 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
在printf执行完后i才会自加。printf函数参数入栈时i的值仍然为1。
更多追问追答
追问
也就是说在printf 里面都使用i自增之前的值
麻烦看下这个题
DigoM
2018-03-08 · TA获得超过569个赞
知道小有建树答主
回答量:460
采纳率:63%
帮助的人:296万
展开全部
只是连续打印两个i,i没有进行任何运算,一直是1,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式