#includeint f(int a);void main(){\x05int i=5,a;\x05a=i++==--i ;\x05printf("%d\n",a);}我的理解是这样的,算术运算符的优先级较高,从右向左,所以先算--i和i++,--i为4,i++为5,然后是==,4与5 不等,所以为0(假),这样的
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 19:04:27
![#includeint f(int a);void main(){\x05int i=5,a;\x05a=i++==--i ;\x05printf(](/uploads/image/z/9295824-48-4.jpg?t=%23includeint+f%28int+a%29%3Bvoid+main%28%29%7B%5Cx05int+i%3D5%2Ca%3B%5Cx05a%3Di%2B%2B%3D%3D--i+%3B%5Cx05printf%28%22%25d%5Cn%22%2Ca%29%3B%7D%E6%88%91%E7%9A%84%E7%90%86%E8%A7%A3%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%2C%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E7%AC%A6%E7%9A%84%E4%BC%98%E5%85%88%E7%BA%A7%E8%BE%83%E9%AB%98%2C%E4%BB%8E%E5%8F%B3%E5%90%91%E5%B7%A6%2C%E6%89%80%E4%BB%A5%E5%85%88%E7%AE%97--i%E5%92%8Ci%2B%2B%2C--i%E4%B8%BA4%2Ci%2B%2B%E4%B8%BA5%2C%E7%84%B6%E5%90%8E%E6%98%AF%3D%3D%2C4%E4%B8%8E5+%E4%B8%8D%E7%AD%89%2C%E6%89%80%E4%BB%A5%E4%B8%BA0%EF%BC%88%E5%81%87%EF%BC%89%2C%E8%BF%99%E6%A0%B7%E7%9A%84)
xRJ@WۂŤ_K
7Mm^@(^ZҠ?MNTegvg( קV3\_͆UX]мZ4\3m"4:p`rRgoxƁ8fگ^{%*{5 Lz!ryq'rʴ,L-FGArHꍥFl/[rQ}O4ʮ-h+֧DR I ȉ6Us+C3tr7(S]\d(F`7cG۬.@EZ
`Z.6DR<"΄-g2x|VաMf
(V
#includeint f(int a);void main(){\x05int i=5,a;\x05a=i++==--i ;\x05printf("%d\n",a);}我的理解是这样的,算术运算符的优先级较高,从右向左,所以先算--i和i++,--i为4,i++为5,然后是==,4与5 不等,所以为0(假),这样的
#include
int f(int a);
void main()
{
\x05int i=5,a;
\x05a=i++==--i ;
\x05printf("%d\n",a);
}
我的理解是这样的,算术运算符的优先级较高,从右向左,所以先算--i和i++,--i为4,i++为5,然后是==,4与5 不等,所以为0(假),这样的话就把0赋给了a,可是a却为1!
#includeint f(int a);void main(){\x05int i=5,a;\x05a=i++==--i ;\x05printf("%d\n",a);}我的理解是这样的,算术运算符的优先级较高,从右向左,所以先算--i和i++,--i为4,i++为5,然后是==,4与5 不等,所以为0(假),这样的
i++是先赋值,后面遇到i再加1,--i先减1在赋值..a=i++是把i=5赋值给a,再判断i++是否等于--i
这是从左到右算的
i++为5,i=6;
--i=5,应该相等吧