4 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
sbuffer錯(cuò)了。
不能是char sbuffer;
應(yīng)該是char sbuffer[100];
或char* sbuffer;sbuffer=malloc(100*sizeof(char));之類。
sprintf中的第一個(gè)參數(shù)是緩沖區(qū)首地址,就是存放sprintf輸出內(nèi)容的地方。要求是char*類型。所以用char變量作第一個(gè)參數(shù)當(dāng)然會(huì)提示錯(cuò)誤。

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
{
int i;
i=12;
char c[100];
sprintf(c,"%d",i);
}
這樣之后c就為"12"

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
給,已經(jīng)編譯運(yùn)行確認(rèn):
#include<conio.h>
#include<stdio.h>
char s[20]={NULL};//用以存放字符型輸出結(jié)果的字符數(shù)組
void inttostring(int n)//轉(zhuǎn)換用的函數(shù)
{
int i=0,j;
char temp;
while(n)//先將整數(shù)逆序保存進(jìn)數(shù)組
{
s[i]=n%10+'0';//將十進(jìn)制數(shù)字轉(zhuǎn)換成字符保存
n=n/10;
i++;
}
for(j=i-1;j>=i/2;j--)//再將逆序的字符結(jié)果再逆轉(zhuǎn)一次,得到正確結(jié)果
{
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;
}
添加回答
舉報(bào)