C语言中 else if(!y)是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:40:11
rt
!y是什么意思?
#include<stdio.h>
void main()
{
int a=200,b=15,c=30;
int x=5,y=0;
if(b<c&&a>c)
if(b==15)
if(x!=5)
a=10;
else if(!y)
a=1;
printf("a=%d",a);
}

原式是这样

逻辑非“!”是一元运算,若其操作数值为0,逻辑非运算的结果为1(逻辑真);若操作数值为非0时,逻辑非运算的结果为0。例如:
int a=5 ,b=0
!a (因为a的数值为非0,所以结果为0)。而!b (则结果为0)。即式中
else if(!y)
a=1;
这一段意思是y==0时a==1。

if后面的表达式是一个bool值。只有这个值是真的时候,它体内的语句才会执行。你可以把if (!y)理解为if (!y == true),因为!是取反运算符。既然!y是真。那么y就是假。在C语言里,0表示假,任何非0值表示为真。
所以if (!y)也可理解为if (y == 0)

表示Y非真,也就是说当y为假的时候执行,可以拆开理解,如果y是假,那么取反为真执行,否则反之。

!在C语言里是非的意思。
C中凡是非零的值都当做真值。IF语句中就是满足条件

除上面if之外,如果y的表达式非真