NO.15逻辑题求助
本帖最后由 我爱橙 于 2022-2-25 10:18 编辑#include <stdio.h>
int main()
{
int x = 1,y = 1;
printf("结果是:%d\n", (!x||y--));
return 0;
}
照抄还改了好几次错误后终于成功了,但还是不理解为什么结果是1,不是0或0吗? 0 或 1 就是 1 呀,y-- 是先使用 y 的值再自减的,--y 就是先自减再使用 isdkz 发表于 2022-2-22 18:50
0 或 1 就是 1 呀,y-- 是先使用 y 的值再自减的,--y 就是先自减再使用
先使用再自减就只执行第一步使用吗?那为什么有时候输出结果是执行两步后的自减值呀? 我爱橙 发表于 2022-2-23 13:33
先使用再自减就只执行第一步使用吗?那为什么有时候输出结果是执行两步后的自减值呀?
不管是 --i 还是 i--都会自减,
如果是单独使用,也就是单纯用来自减,这两个并没有区别,
但是如果要代入表达式,--i 会先自减再把 i 的值代入表达式中,而 i-- 是先把 i 的值代入表达式后再自减
页:
[1]