首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

有关if(x-)什么意思,该如何处理

2012-03-13 
有关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
[解决办法]
探讨

if(x--)是先判断表达式的值x--是否为真,如果为真,则执行输出good,如果表达式x--的值为假,则执行输出bad,然后是更新x本身的值。这个表达式的值为假,只有表达式的值为0时才为假,其他情况都为真。

热点排行