C语言中while(x--)是什么意思?

Python013

C语言中while(x--)是什么意思?,第1张

首先了解下优先级与结合性

1.--为自减运算符,第二优先级,自右至左

2.x--这个表达式:先使用x的值,接着x=x-1

整个表达式的值为x

while(x--)

{

循环体

}

首先

①判断x--这个表达式的值是否为0(即x的值),如果为0,不执行循环体

但仍然执行x=x-1

例如:

int x=0则不执行循环体,x最终值为-1

②如果x的初值不为0,判断x--这个表达式的值是否为0,(不论是否为0)x=x-1,

如果x--表达式的值不为0,在执行循环体.(真绕...看例子)

例如:

int x=3

while(x--)

{

printf("while\n")

}

printf("%d\n",x)

①3-->不为0-->x=x-1-->x=2

执行循环体 while

②2-->不为0-->x=x-1-->x=1

同上

③1-->不为0-->x=x-1-->x=0

同上

④注意 此时x=0,将不再执行循环体,但x=x-1-->x=-1

(建议你逐步调试,很清晰)

x

+=

++y

x

=

x

+

(++y),赋值号右边++y的意思是y自增1,再与x的值相加赋给左边的x

假如x=1,

y=2,那么x

=

1+(++2)

=

1+3=4