将十进制数转换为二进制、八进制、十六进制的问题
# include<stdio.h>
# include<string.h>
void main()
{ long n;
int radix;
char b[33];
char *q;
char * trans(long m,int base); // 函数声明
printf("please input the integer:"); //要转换的十进制数
scanf("%ld",&n);
printf("please input the radix:"); // 进制数,可以为2、8、16
scanf("%d",radix);
q=trans(n,radix); //调用函数
for(int i=strlen(b)-1;i>=0;i--)
printf("%c",*(b+i));
}
char *trans(long m,int base)
{ int r;
char a[33];
char *p=a;
while(m>0)
{ r=m%base;
if(r<10) *p=r+48; //小于10的数转换为数字字符输出
else *p=r+55; //大于10的数转为A B C D E F输出
m=m/base;
p++; }
*p='\0';
p=a;
return p;
}为什么编译能通过,可就是不能执行出结果呢?问题出在哪呢?是指针的问题吗?
请大家帮帮忙好吗。。。
相关推荐
进制转换算法原理(二进制 八进制 十进制 十六进制)
进制转换算法原理(二进制 八进制 十进制 十六进制),以前上学那会确实学过,长时间不用都忘了。
python进制转换#二进制#十六进制#八进制#十进制
python input函数进制转换 input()函数-控制输入的进制数 格式化符号 %o八进制 %x十六进制 %d整数 PS:不要问为什么没有二进制的格式化符号,问了就是不知道。 s=int(input(),16) #输入十六进制并将其转换为十进制 s=int(input(),10) #输入十进制并将其转换为十进制 s=int(input(),8) #输入八进制并将其转换为十进制 s=int(input(),2) #输入二进制并将其转换为十进制 通过格式化符号进行转化 这里用输入一个十六进制的数为例子 n=int(input(),
c语言编程题:从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数,并同时输出。
c语言编程题:从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数,并同时输出。
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
本文实例讲述了PHP实现十进制、二进制、八进制和十六进制转换相关函数用法。分享给大家供大家参考,具体如下: 1.二进制: 1.1.二进制转十进制: 函数:bindec(string $binary_string) @param $binary_string 参数表示所要转换的二进制字符串。 @return 返回与$binary_string参数所表示的二进制数的十进制数等价值。 函数说明: bindec()将一个二进制数转换成Integer类型或者出于大小的需要,转换为float类型。 bindec()将所有的$binary_string值解释为无符号整数。这是因为bindec()函数将其最
二进制 八进制 十进制 十六进制之间的进制转换.docx
...


