C语言中关于真假的处理

C语言这样来处理数据的真假的:

非零即为真,零是假;真就用1来表示,假用0来表示。来看代码例子:

# include<stdio.h>

int main(void){
	int i = 10;
	int j = 20;
	int m;

	m = (3 > 2)&&(j = 8);//注意一个 & 表示的是引用地址
	printf("m = %d, j = %d\n", m ,j);
	
	return 0;
}
/*******程序输出结果如下:
        m = 1, j = 8
*/
分析:m = (3>2)&&(j = 8);3>2为真,j = 8这是个赋值操作,把8赋值给了j,由于C语言中规定了,非零即为真,所以j = 8为真,真&&真,结果为真,那么m 就为1。再来看另外一段代码:

# include<stdio.h>
int main(void){
	int i =10;
	int j =20;
	int m;
	
	m = (3 > 2)&&(j = 0);
	printf("m = %d, j = %d\n", m ,j);

	return 0;
}
/******输出结果为:
	m = 0, j = 0
*/
分析:C中规定了零为假,所以j = 0这是为假,真&&假结果为假,那么m的值就为0,由于给j 赋值0,所以最后输出结果都为0.

# include<stdio.h>
int main(void){
	int i =10;
	int j =20;
	int m;
	
	m = (1 > 2)&&(j = 5);
	printf("m = %d, j = %d\n", m ,j);

	return 0;
}
/*************输出结果为:
	m = 0, j = 20
*/
分析:为什么此处j = 20而不是等于5呢?也就是j = 5 这个没有执行。记住: " &&“ 这个运算符很特别,当左边表达式是的时候,右边就不执行了,当” || “的左边为的时候,右边就不执行。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值