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);
我想写一个这样的程序让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);