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

Posted 軒邈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\\n", 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\\n", 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\\n", 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\\n", m, k);

	return 0;


/*
	上述程序运行结果:m = 1, k = 5
*/
/* 区分 & 与 &&的用法 */

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

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

以上是关于C语言中逻辑运算符(&&和||)中存在的真假问题的主要内容,如果未能解决你的问题,请参考以下文章

C零基础课程-14-逻辑运算符

C语言逻辑运算符

C语言中啥是逻辑表达式,啥是关系表达式?

逻辑运算符及其优先级,C语言逻辑运算符及其优先级详解

C语言中&&,||,&,| 的区别

C语言中啥是逻辑表达式,啥是关系表达式。举几个例子