C语言中,a+(i++); 是不是先执行a+i,i再加1,即等效于 a+1,i++ ??
答案:5 悬赏:0 手机版
解决时间 2021-11-19 00:53
- 提问者网友:留有余香
- 2021-11-18 08:12
C语言中,a+(i++); 是不是先执行a+i,i再加1,即等效于 a+1,i++ ??
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-11-18 09:35
等效于a+i, ++i
i++和++i最重要的区别是,前者返回右值,后者返回左值
i++的结果是一个临时变量temp,相当于temp = i; i = i +1;
++i的结果是i,相当于i = i + 1;
所以,像i++ = 2;这样的写法是错误的,而++i = 2就是允许的
i++和++i最重要的区别是,前者返回右值,后者返回左值
i++的结果是一个临时变量temp,相当于temp = i; i = i +1;
++i的结果是i,相当于i = i + 1;
所以,像i++ = 2;这样的写法是错误的,而++i = 2就是允许的
全部回答
- 1楼网友:孤老序
- 2021-11-18 13:17
嗯,(i++)==i
- 2楼网友:白昼之月
- 2021-11-18 12:16
C语言中,a+(i++); 是不是先执行圆括号中的i++,i再加1,即等效于 a+i+1
- 3楼网友:街头电车
- 2021-11-18 11:59
后自增运算,一定会在该语句执行完之后才自增。所以一定是先执行a+i,再执行i++的。已验证。
追问a+i,和i++究竟先执行那个啊??追答i++一定会在执行完当前语句才自增,随意先执行a+i所以- 4楼网友:长青诗
- 2021-11-18 10:59
先执行i++,因为()的优先级比+高
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯