有没有办法在C中传递这样的字符串?

J..*_*..S 0 c string function parameter-passing

我有一个接受字符数组(即字符串)作为参数的函数.

但是整数变量的值也应该作为字符串的一部分打印出来.

例如,如果我有这样的函数:

int var=10;
void printStr(char str[])
{
   printf("%s", str);
}
Run Code Online (Sandbox Code Playgroud)

我需要用消息打印整数变量'var'的值

"var的值是%d",var

我试过这个

printStr( ("The value of var is %d", var) );
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有没有办法在不将变量作为参数传递给它的情况下完成此操作printStr()

这种情况下的输出应该是

var的值是10

Ily*_*lya 6

看来你需要函数sprintf/ snprintf来生成字符串.

尝试这样的事情:

char tempStr[30];
snprintf(tempStr, sizeof(tempStr), "The value of var is %d", var);
printStr(tempStr);
Run Code Online (Sandbox Code Playgroud)

这是你需要的吗?