C语言中If(!x) y ++; 什么意思、特别是iF(!x)

如题所述

if(x==y)是判断x与y是否相等,相等则为真,不等则为假
if(x=y)这个是把y的值赋给x,然后判断表达式x=y的值,C语言中,赋值表达式是有值的,它的值是赋值符号右边的值,即x=y的值是y的值,如果y的值为0,那么x=y为假,否则为真
一般来讲,编程过程中if(x=y)这种写法是错误的写法,程序能够通过编译,也能够运行,但是可能会出现意料之外的结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
If(!x)
y ++;
在C语言中 if的条件为两种,真和假。
真的情况, 1== 1 和 任何非零值可以看为真。 比如if(2==2)和 if(1)看成是满足条件。
假的情况, 1==2 和 0 都可以看为假,比如 if( 1==2)和if(0)都可以看成不满足条件
!x 如果x的值不为 0,可以理解为 x为真,那么 !x就为假。
如果x的值为0, 则x为假, !x为真。本回答被提问者和网友采纳
第2个回答  2016-12-20
==是等于的意思,比如x==100这个语句,如果x的值确实是100,则返回1,如果x的值不是100 则x不等于100,则返回0。
=是赋值的意思,只要赋值成功,都返回1。比如x=1,就是把1赋给x,换句话说,在这个句子之前,x可能没有值,或者有其他值,但是这个语句之后,x就等于1了。
所以,如果是要判断x是否等于y,那应该用x==y
第3个回答  2014-03-09
if(!x) 表示如果x不等于0
If(!x) y ++; 是说,如果x不等于0,y就自加1
第4个回答  2014-03-09
if(!x)判断x是否是false,若是执行y++;y++是先赋值在加1。希望你能帮到你,望采纳!