69,368
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
void f(int x,int y)
{
char res[10]={0};
int i=0,rem;
do
{
rem = x%y;
x=x/y;
if(rem<10)
{
res[i]='0'+rem;
}else{
res[i]='A'+rem-10;
i++;
}while(x!=0);
i--;
for(;i>=0;i--)
{
printf("%c",res[i]);
}
printf("\n");
}
void main(void)
{
f(23,10);
f(45,8);
f(50,16);
}
#include<stdio.h>
void f(int x, int y)
{
char res[10]={0};
int i=0, rem;
do
{
rem = x % y;
x = x / y;
if(rem < 10) {
res[i] = '0' + rem;
}else {
res[i] = 'A' + rem - 10;
}
i++;
}while(x != 0);
i--;
for(;i>=0;i--)
{
printf("%c",res[i]);
}
printf("\n");
}
void main(void)
{
f(23,10);
f(45,8);
f(50,16);
}
缺少括号,在while (x != 0);前缺少一个括号;
%c能够输出数字,因为该数字非数值数字,这个数字是ASCII码的值,数字'0' ~'9'用十进制表示就是48~57, (0x30~0x39)