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
提交
取消