Sprintf() 不能接受函数参数

Sprintf() cannot accept function parameter

我想写一个这样的程序让sprintf()接受函数参数

int x (char z) { //z is a character array
    float y = 10.254;
    sprintf (z, "%2.1f", y);
    printf ("%c", &z);
}

但是当我输入数组作为参数时,没有任何反应。

如何让sprintf接受外部参数

char z 只是一个字符。仅此而已

char* z通常被理解为一个字符串或者一个能够容纳字符串(或者更准确地说,一个指向字符的指针)的缓冲区

%c 是单个字符的格式说明符。 %s 用于空终止字符数组(或 char*)

这更接近你想要的:

int x (char* z) { 
    float y = 10.254;
    sprintf (z, "%2.1f", y);
    printf ("%s", z);
}

然后调用:

char buffer[100]; // big enough
x(buffer);