展开全部
前缀加/减 与 后缀加/减 的不同 -- 在于表达式 里 的 值。
表达式 里, 前缀加 要先自增, 后使用。
表达式 里, 前缀减 要先自减, 后使用。
表达式 里, 后缀加 要先使用原值。出了表达式后 再自增。
表达式 里, 后缀减 要先使用原值。出了表达式后 再自减。
a=++i; 前缀加 要先自增, 后使用。执行: i=i+1; a=i ; ( i=7; a=7;)
b=i++; 后缀加 要先使用原值。出了表达式后 再自增。执行 b=i; i++; (b=7;i=8)
a=--i; 前缀减 要先自减, 后使用。i=i-1; a=i; (i=7;a=7)
b=i--; 后缀减 要先使用原值,执行. b=i.i=i-1; (b=7; i=6)
printf("%d\n",-i++); 后缀加 要先使用原值。出了表达式后 再自增. 打印 -i; (-6) 出了表达式 i=i+1;(i=7)
printf("i=%d\n",i); 打印 i=7
表达式 里, 前缀加 要先自增, 后使用。
表达式 里, 前缀减 要先自减, 后使用。
表达式 里, 后缀加 要先使用原值。出了表达式后 再自增。
表达式 里, 后缀减 要先使用原值。出了表达式后 再自减。
a=++i; 前缀加 要先自增, 后使用。执行: i=i+1; a=i ; ( i=7; a=7;)
b=i++; 后缀加 要先使用原值。出了表达式后 再自增。执行 b=i; i++; (b=7;i=8)
a=--i; 前缀减 要先自减, 后使用。i=i-1; a=i; (i=7;a=7)
b=i--; 后缀减 要先使用原值,执行. b=i.i=i-1; (b=7; i=6)
printf("%d\n",-i++); 后缀加 要先使用原值。出了表达式后 再自增. 打印 -i; (-6) 出了表达式 i=i+1;(i=7)
printf("i=%d\n",i); 打印 i=7
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一行 i为6 a和b是垃圾值。
第二行a赋予i自增以后的副本a,a为7,而i为7,b被赋给i的副本,b为7,然后i又自增,i为8
打印出来a就是7 b是7 这个时候i是为8的
然后a被赋予i自减以后的副本,就是7,而i这时候为7,b又被赋予i的副本为7,然后i又自减为6。
再次打印,a为7,b为7,这时候i为6
下面根据优先级i++先算,那么,i++表达式的值为i的副本,那么就是6,然后负号表达式就是-6。这个-6传给printf,打印出-6,同时i也自减了,这个时候i为5。
再次打印,i为5。
更多追问追答
追问
解释得很清楚哈 O(∩_∩)O谢谢~
不过最后一行的输出不对~
追答
我是用脑袋运行的代码,过一会编译一下,确认一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询