C语言中x--,--y什么意思

C语言中x--,--y什么意思,第1张

x

+=

++y

即乱桥

x

=

x

+

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

假如x=1,

y=2,那么x

=

1+(++2)

=

1+3=4

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

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

!=

0,

则谈游

!x

0,即假,如果x

==

0,则

!x

真。

while循环和

do-while

循环的区别在于,while是先检查是否复合条件再循环,而do-while循环则是在循环体尾检查是否符合条件,这就说明,do-while循环内的语句至少被执汪世行一次。

这好比下面的例子

do{

吃一个三明治

←←←←←

Statement

我饿吗?(饿,再吃一个三明治↑)(不饿,退出循环↓)

}while()

←←←←←←←←←

这就意味着,你至少得吃一个三明治。

如果使用while循环,则像下面这样

我饿吗?(饿,吃↓)(不饿↓)

while()

{

吃一个三明治

statement}

←含陵销

这说明,你不一定吃一个三明治。

这就是while跟do-while的区别。。。=、=


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12275359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存