如何在C中组合这两个printf语句?

时间:2016-09-13 18:43:07

标签: c printf

我试图打印"你好,数字5是正确的!"在C.

我现在的方式是使用两个printf语句:

System.out.println("Hello the number "+number+" is correct!");

我如何在Java中的一个语句中执行此操作:

printf("Hello the number %d", number, " is correct!");

我试过在C中这样做:

{{1}}

但是"是正确的!"没有出现。

有没有办法在一个声明中这样做? 对不起,我是C的新手。

3 个答案:

答案 0 :(得分:5)

您可以将格式说明符嵌入到字符串的中间,如下所示:

printf("Hello the number %d is correct!\n", number);

或者,您可以为字符串的其余部分使用另一种格式说明符:

printf("Hello the number %d%s\n", number, " is correct!");

答案 1 :(得分:1)

printf函数需要字符串的格式,后跟格式引用的参数。

printf("Hello the number %d is correct!\n", number);

在您的情况下,printf("Hello the number %d", number, " is correct!")将被理解为“Hello the number %d”作为字符串的格式,其中number和“is correct!”作为参数,因为您只有一个格式中引用的参数“is correct!”未出现在结果字符串中,这就是“is correct!”未显示的原因。

答案 2 :(得分:0)

您的尝试无效,因为您有1个appender(%d)但有2个参数(数字“是正确的!”

尝试改为......

int main(void) {
     int number =0;
   printf("Hello the number %d   is correct!", number);
    return 0;
}