/*
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就为零。
|