万能的大神们啊,为什么是bus error ?C语言
发布网友
发布时间:2023-07-18 19:55
我来回答
共1个回答
热心网友
时间:2天前
你的C语言程序我帮你改完了,出现bus error的原因是循环变量b,你使用了unsigned int类型,改成int类型,就没问题了.另外,reverse_bits函数没有返回值,应该定义为void reverse_bits(unsigned int value);
完整的C语言程序如下
#include<stdio.h>
void reverse_bits(unsigned int value);
int main()
{
unsigned int a=25,b;
reverse_bits(a);
// printf("%u",b);
return 0;
}
void reverse_bits(unsigned int value)
{
unsigned int a=sizeof (value);
int b;
int num[4*sizeof (value)];
for (b=a*4-1;b>=0;b--)
num[b]=((value>>b)&1);
for (b=0;b<4*a;b++)
printf("%d",num[b]);
}
运行结果
1001100000000000