C语言中逻辑运算符(&&和)中存在的真假问题

/*
	2022.03.11
	目的:
		逻辑运算符中关于“&&”和“||”在程序中存在的真假疑问
*/

#if  0
#include <stdio.h>

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

	m = (3 > 2) && (k = 8);         /* 在C语言中,非0为真,0就是假,并且用1表示真,用0表示假 */

	printf("m = %d, k = %d
", m, k);

	return 0;
}

/*
	上述程序运行结果:m = 1, k = 8
*/

#endif


#if  0
#include <stdio.h>

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

	m = (3 > 2) && (k = 0);        

	printf("m = %d, k = %d
", m, k);

	return 0;
}

/*
	上述程序运行结果:m = 0, k = 0
*/
#endif

#if  0
#include <stdio.h>

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

	m = (1 > 2) && (k = 5);  /* “&&”运算符,当左边是假的时候,右边的程序是不会执行的 */

	printf("m = %d, k = %d
", m, k);

	return 0;
}

/*
	上述程序运行结果:m = 0, k = 20
*/
#endif


#include <stdio.h>

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

	m = (1 > 2) || (k = 5);  /* “||”运算符,当左边是真的时候,右边的程序是不会执行的 */

	printf("m = %d, k = %d
", m, k);

	return 0;
}

/*
	上述程序运行结果:m = 1, k = 5
*/


/* 区分 & 与 &&的用法 */

按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;

逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值