C语言中变量后自增语法是什么?如何在表达式求值后对变量自增
问题解答
C语言中实现「先使用变量原有值参与表达式求值,再对变量做加1操作」的语法是后缀自增运算符,写作变量名++。
你要合并的两行代码ac += ar[a]; a = a + 1;可以直接替换为单条语句:
ac += ar[a++];
补充说明
- 后缀自增
a++的运算优先级和数组下标运算符[]一致,结合顺序从左到右,所以ar[a++]会先取a的当前值作为下标取数组元素,参与完ac +=的运算后,再自动执行a = a + 1的操作。 - 注意和前缀自增
++a区分:前缀自增是先把a加1,再返回加1后的值参与运算,如果你错写成ar[++a]会先把a加1再取下标,和你原来的代码逻辑不符。
修改后的完整可运行代码和原代码逻辑完全等价:
int a; int ar[8] = {1,2,3,4,5,6,8}; int ac = 0; a ^= a; ac += ar[a++]; ac += ar[a]; printf("%x\n", ac);
运行结果和原代码一致,输出为3(十六进制)。
内容的提问来源于stack exchange,提问作者user234461
相关产品推荐
相关产品推荐

