横线上是什么,而且能详细讲解一下为什么这么做,且详细讲解这程序?

讲int型整数a转换成十六进制数字字符串,并保存到p指向的字符数组中,例如,当a=127时,程序的输出结果为“ox7F”
#include<stdio.h>
void itoa16(int a,char p[])
{ int i=0;j=0;k,r,t[10];
if(a<0) {p[j++]='-';________}
p[j++]='0';p[j++]='x';
while(a>0)
{ r=a%16;
if(______) t[i]=r+'0';
else t[i]=r-10+'A';
a=________;
i++;
}
for(k=i-1;k>=0;k--;j++) p[j]=t[k];
p[j]='0';
}
main()
{ char a=127,b[10];
itoa16(a,b);
puts(b);
}

繁星淼淼
浏览 65回答 1
1回答

MMTTMM

你这程序有问题,是不是抄错了?&nbsp;============================#include<stdio.h>void itoa16(int a,char p[]){ int i=0,j=0,k,r,t[10];if(a<0) {p[j++]='-';a=-a;}p[j++]='0';p[j++]='x';while(a>0){ r=a%16;if(r<10) t[i]=r+'0';else t[i]=r-10+'A';a=a/16;i++;}for(k=i-1;k>=0;k--,j++) p[j]=t[k];p[j]='0';}main(){ char a=127,b[10]="";itoa16(a,b);puts(b);}
打开App,查看更多内容
随时随地看视频慕课网APP