c语言考试,急用 在线等 谢谢啊

#include<stdio.h>voiddec2hex(intn,char*str){intm,i,j;chart;m=0;do{k=n%16;if(k<=9)str[... #include <stdio.h>
void dec2hex(int n, char *str)
{
int m,i,j;
char t;
m=0;
do {
k = n % 16;
if (k<=9)
str[m] = '0' + k;
else
str[m] = 'A' + k – 10
m++;
n = n / 16;
} while (n>0);
str[m] = '\0';
for (i=0,j=m-1;i<j;i++,j--)
{
str[i]=t;
str[i]=str[j];
str[j]=t;
}
}
main()
{
char str[80];
int n;
scanf("%d",&n);
str=dec2hex(n);
puts(str);
}
展开
 我来答
y5254y
2012-02-17 · TA获得超过893个赞
知道小有建树答主
回答量:219
采纳率:50%
帮助的人:138万
展开全部
#include <stdio.h>
void dec2hex(int n, char *str)
{
int m,i,j;
int k ; //这里加个k
char t;
m=0;
do {
k = n % 16;
if (k<=9)
str[m] = '0' + k;
else
str[m] = 'A' + k - 10; //你原来这里没有分号
m++;
n = n / 16;
} while (n>0);
str[m] = '\0';
for (i=0,j=m-1;i<j;i++,j--)
{
str[i]=t;
str[i]=str[j];
str[j]=t;
}
}
main()
{
char str[80];
int n;
scanf("%d",&n);
dec2hex(n, str); //你原来的是str=dec2hex(n);
puts(str);
}
更多追问追答
追问
亲  就3处么?
追答
str[m] = 'A' + k - 10;   //你原来这里没有分号  这里的减号也写错了,改过来了,估计是你粗心写错的。

void dec2hex(int n, char *str)
{
int m,i,j;
char t;
m=0;
do {
int k = n % 16;
if (k0);
str[m] = '\0';
for (i=0,j=m-1;i<j;i++,j--)
{
str[i]=t;
str[i]=str[j];
str[j]=t;
}
}

main()
{

char str[80];
int n;
scanf("%d",&n);
dec2hex(n, str);
puts(str);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28b4182
2012-02-17 · TA获得超过7222个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1821万
展开全部
#include <stdio.h>
void dec2hex(int n, char *str)
{
int m,i,j,k;
char t;
m=0;
do {
k = n % 16;//K未定义
if (k<=9)
str[m] = '0' + k;
else
str[m] = 'A' + k - 10;//少分号,减号不对
m++;
n = n / 16;
} while (n>0);
str[m] = '\0';
for (i=0,j=m-1;i<j;i++,j--)
{
//str[i]=t; 写反了
t=str[i];
str[i]=str[j];
str[j]=t;
}
}
int main()
{
char str[80];
int n;
scanf("%d",&n);
dec2hex(n,str);//传入首地址,str不能直接赋值
puts(str);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式