gpt4 book ai didi

C语言: Macro calling from main return strange error

转载 作者:行者123 更新时间:2023-11-30 21:35:06 26 4
gpt4 key购买 nike

所以我必须写Macro检查 arraynumbers并返回numbernumbers剩下的bits1等于右bits1 .

例如:10110111

所以这是我的 Macro :

#define check(arr, count, result)\
{\
int i,half,bitloop1,bitloop2,bitcount;\
bitcount-0;\
i=0;\
half=(sizeof(int)*8)\2;\
for (i = 0; i < count; i++)\
{\
bitcount = 0;\
bitloop1=0;\
bitloop2=0;\
unsigned int mask = 1 << (sizeof(int) * 8 - 1);\
while (mask)\
{\
bitcount++;\
if ((arr[i]&mask) == 1)\
{\
if(bitcount<half-1)\
bitloop1++;\
else\
bitloop2++;\
}\
mask >>= 1;\
}\
if(bitloop1==bitloop2)\
result++;\
}\
}

主要

int arr[] = { 183, 12 };
int result = 0;
check(arr, 2, result);
printf("%d", result);

所以我的支票Macro主要返回错误:

unrecognized token
illegal escape sequence
syntax error: missing ';' before 'constant'

最佳答案

有(至少)两个拼写错误:

  1. bitcount-0;\应为bitcount=0;\

  2. half=(sizeof(int)*8)\2;\ 应为 half=(sizeof(int)*8)/2;\

关于C语言: Macro calling from main return strange error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48611667/

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