C语言中,a+(i++); 是不是先执行a+i,i再加1,即等效于 a+1,i++ ??

2025-03-23 01:02:43
推荐回答(5个)
回答1:

后自增运算,一定会在该语句执行完之后才自增。所以一定是先执行a+i,再执行i++的。已验证。

回答2:

等效于a+i, ++i
i++和++i最重要的区别是,前者返回右值,后者返回左值
i++的结果是一个临时变量temp,相当于temp = i; i = i +1;
++i的结果是i,相当于i = i + 1;
所以,像i++ = 2;这样的写法是错误的,而++i = 2就是允许的

回答3:

先执行i++,因为()的优先级比+高

回答4:

C语言中,a+(i++); 是不是先执行圆括号中的i++,i再加1,即等效于 a+i+1

回答5:

嗯,(i++)==i