4 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
sbuffer错了。
不能是char sbuffer;
应该是char sbuffer[100];
或char* sbuffer;sbuffer=malloc(100*sizeof(char));之类。
sprintf中的第一个参数是缓冲区首地址,就是存放sprintf输出内容的地方。要求是char*类型。所以用char变量作第一个参数当然会提示错误。
温温酱
TA贡献1752条经验 获得超4个赞
给,已经编译运行确认:
#include<conio.h>
#include<stdio.h>
char s[20]={NULL};//用以存放字符型输出结果的字符数组
void inttostring(int n)//转换用的函数
{
int i=0,j;
char temp;
while(n)//先将整数逆序保存进数组
{
s[i]=n%10+'0';//将十进制数字转换成字符保存
n=n/10;
i++;
}
for(j=i-1;j>=i/2;j--)//再将逆序的字符结果再逆转一次,得到正确结果
{
temp=s[j];
s[j]=s[i-j-1];
s[i-j-1]=temp;
}
}
int main()
{
int i;
printf("please input a number: ");
scanf("%d",&i);
inttostring(i);
printf("String is: %s",s);
getch();
return 0;
}
添加回答
举报
0/150
提交
取消