我想寫一個這樣的程式讓 sprintf() 接受函式引數
int x (char z) { //z is a character array
float y = 10.254;
sprintf (z, "%2.1f", y);
printf ("%c", &z);
}
但是,當我將陣列作為引數輸入時,什么也沒有發生。
如何讓 sprintf 接受外部引數
uj5u.com熱心網友回復:
char z只是一個字符。而已
char* z通常被理解為字串或能夠保存字串的緩沖區(或更準確地說,是指向字符的指標)
%c是單個字符的格式說明符。%s用于以空字符結尾的 char 陣列(或 char*)
這更接近你想要的:
int x (char* z) {
float y = 10.254;
sprintf (z, "%2.1f", y);
printf ("%s", z);
}
然后呼叫:
char buffer[100]; // big enough
x(buffer);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/430160.html
上一篇:將值分配給整數指標時出現分段錯誤
