c语言程序:将一个五符号十进制证书转化为二进制形式,保存在形参数组中

将一个五符号十进制证书转化为二进制形式,保存在形参数组中,在主函数中输出其二进制形式。函数的原型是:
void fun(unsigned x,int a[16]);
就是这样。

保存在形参数组中,在主函数中输出其二进制形式?
楼主是不是把题目弄错了,保存到形参数组中?形参的改变不能使实参改变!也就是说,无论形参数组a[16]中存的是什么,在主函数中,都不能将其输出(因为调用完函数后,主函数中的数组无任何变化)。
像这样的问题,一般都是用指针解决的(或者在fun()函数中输出数据也可解决问题,但这样的程序不够标准)。
所以函数原型应该是:void fun(unsigned x,int *a);
程序:
#include <stdio.h>
void fun(unsigned x,int *a);
int main(void)
{ int i,a[16];
unsigned int x;
scanf("%d",&x);
fun(x,a);
for(i=0;a[i]!=0;i++) printf("%c",a[i]);
printf("\n");
}
void fun(unsigned x,int *a)
{ int i,j,b[16];
if(!x) { a[0]='0';a[1]=0; }
else
{ for(i=0;x!=0;x/=2) b[i++]='0'+x%2;
for(j=0;i!=0;j++) a[j]=b[--i];
a[j]=0;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-08
怎么算 “二进制形式”啊 字符串 ,还是每个int里面放个0或1 ?。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网