gpt4 book ai didi

c - 下面程序中的 & 和 && 运算符有什么用?

转载 作者:太空狗 更新时间:2023-10-29 15:11:15 25 4
gpt4 key购买 nike

我在一个网站上看到下面的代码可以在不使用“if”的情况下检查奇数或偶数。但是,我无法理解编码及其工作原理。请解释一下代码的功能部分。

#include<stdio.h>
#include<conio.h>
int main()
{
int no;
clrscr();
printf("Enter a number");
scanf("%d",&no);
(no & 1 && printf("odd")) || printf("even");
return 0;
getch();
}

最佳答案

no & 1 获取no 的最低有效位。因此,如果 no 是奇数,则 no & 1 得到 1。

如果no & 1 == 0,则跳过&&的右侧,(no & 1 && printf("odd")) 被评估为 FALSE,并且 printf("even") 被评估。

如果 no & 1 != 0,则 && 的右侧被计算并在控制台上打印 "odd"(no & 1 && printf("odd")) 如果 printf() 成功,则评估为 TRUE,然后 ||< 的右侧 被跳过。

关于c - 下面程序中的 & 和 && 运算符有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21800191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com