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语言中逻辑运算符(&&和||)中存在的真假问题的主要内容,如果未能解决你的问题,请参考以下文章