Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 可以在变量之后输出字符串吗?(一行带printf)_C_Printf_Output - Fatal编程技术网

C 可以在变量之后输出字符串吗?(一行带printf)

C 可以在变量之后输出字符串吗?(一行带printf),c,printf,output,C,Printf,Output,尝试在变量前后打印字符串。 C是否能够使用一条语句来显示此输出 这项工作: float value = 5; printf("\nThe value of %f", value); printf(" is greater than zero."); 这是欲望一号声明: float value = 5; printf("\nThe value of %f", value, " is greater than zero."); 第二个字符串不显示您想到的是类似Java的东西。在C中,您可以执行以

尝试在变量前后打印字符串。 C是否能够使用一条语句来显示此输出

这项工作:

float value = 5;
printf("\nThe value of %f", value);
printf(" is greater than zero.");
这是欲望一号声明:

float value = 5;
printf("\nThe value of %f", value, " is greater than zero.");

第二个字符串不显示

您想到的是类似Java的东西。在C中,您可以执行以下操作:

printf("The value of %f is greater than zero.\n", value);
printf函数接受一个格式字符串和零个或多个附加参数以插入该格式@MDXF提供了使用单个printf生成所需输出的最明显的方法,但一个重要的替代方法是

printf("\nThe value of %f%s", value, " is greater than zero.");
请注意,格式字符串%s中有第二个字段描述符,用于指定格式后面的第二个参数的格式和位置。当字符串以文本形式给出时,这样做有点傻,但如果您有一个char*指向要打印的字符串,这将是一种自然的方式,这是一种常见的情况:

void printit(double value, const char *string) {
    printf("\nThe value of %f%s", value, string);
}

为什么不直接打印%f的值大于零。\n,value?请注意“\n”是行尾字符,将其放在开头有点奇怪。请参考printfb的语法顺便说一句,注意在我之前的注释中,我将换行符放在要打印的字符串的末尾。这是因为printf写入的stdout在默认情况下是行缓冲的,这意味着文本将被写入newline上的输出设备。因此,打印换行符将首先打印上一行,而不是当前换行符,直到下一个换行符,这可能需要一段时间并导致输出丢失。@JoachimPileborg感谢您的帮助!