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

时间:2016-09-28 19:56:26

标签: 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.");

(第二个字符串不显示)

2 个答案:

答案 0 :(得分:9)

你在想像Java这样的东西。在C中你可以这样做:

printf("The value of %f is greater than zero.\n", value);

答案 1 :(得分:4)

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);
}