有关if(x-)什么意思,该如何处理
有关if(x--)什么意思我写了这个程序:C/C++ code#includestdio.hmain(){int iint x4for(i0i6i++){
有关if(x--)什么意思
我写了这个程序:
C/C++ code#include<stdio.h>main(){ int i; int x=4; for(i=0;i<6;i++) {if(x--) { printf("good\n"); } else printf("bad\n"); }}
输出了:
good
good
good
good
bad
good
我以为x开始等于4,即只要为真,就执行if语句。
但是,我改了一下x的值,
C/C++ code#include<stdio.h>main(){ int i; int x=0; for(i=0;i<6;i++) {if(x--) { printf("good\n"); } else printf("bad\n"); }}
我以为只要为假就执行if语句,但是输出了
bad
good
good
good
good
good
和我想的相反了,那if(x--)什么意思的?新手谢了。
[解决办法]if(x--)是先判断表达式的值x--是否为真,如果为真,则执行输出good,如果表达式x--的值为假,则执行输出bad,然后是更新x本身的值。这个表达式的值为假,只有表达式的值为0时才为假,其他情况都为真。
[解决办法]先 x--, 然后判断 x 是否大于 0
[解决办法]