gpt4 book ai didi

c - 如何让这个 C 宏工作?

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:57 24 4
gpt4 key购买 nike

为什么使用 on 和 off 宏会产生问题。我不熟悉使用 c 宏。宏声明是否正确或代码是否存在其他问题。请帮忙 ??

#include<stdio.h>
#include<stdint.h>

#define ONE 1; // OR BY 1 [ 0 0 0 0 0 0 0 1 ] TO insert 1 at LSB position
#define TWO_FIVE_FOUR 254; // AND BY 254 [ 1 1 1 1 1 1 1 0 ] TO insert 0 at LSB position

#define on(x) (x|ONE)
#define off(x) (x & TWO_FIVE_FOUR)

int main()
{
uint8_t a=53;

printf("\nValue of byte a : %d",a );

printf("\nValue of byte b : %d",on(a)); //Error

printf("\nValue of byte c : %d",off(a)); //Error

getchar();

return 0;
}

最佳答案

去掉宏定义中的分号

#define ONE 1              //  OR BY   1 [ 0 0 0 0 0 0 0 1 ] TO insert 1 at LSB position             
#define TWO_FIVE_FOUR 254 // AND BY 254 [ 1 1 1 1 1 1 1 0 ] TO insert 0 at LSB position

关于c - 如何让这个 C 宏工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12200522/

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