2016-09-13 4 views
-2

Ich versuche zu drucken "Hallo die Nummer 5 ist korrekt!" in C.Wie kann ich diese beiden printf-Anweisungen in C kombinieren?

Die Art und Weise ist, dass ich es jetzt gerade mit zwei printf Aussagen:

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

Wie kann ich dies wie in Java in einer Anweisung tun:

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

Ich habe versuchte es auf diese Weise in C:

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

aber das "ist richtig!" erscheint nicht.

Gibt es eine Möglichkeit, dies in einer Aussage zu tun? Es tut mir leid ich bin sehr neu zu C.

+0

Die [printf' manpage] (http://linux.die.net/man/3/printf) ist dein Freund. Immer lesen Sie zuerst die man-Seiten (oder ähnliche Dokumentation der Funktionen, die Sie verwenden. – Olaf

Antwort

5

Sie können wie so die Formatbezeichner in die Mitte des Strings einbetten:

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

Alternativ Sie eine weitere Formatbezeichner für den Rest verwenden können die Zeichenfolge:

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

die printf Funktion erwartet das Format der Zeichenfolge, gefolgt von den durch das Format verweisen Argumente.

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

In Ihrem Fall printf("Hello the number %d", number, " is correct!") in Ihrem Format „is correct!“ verwiesen mit number und „is correct!“ als Argument und wie Sie haben nur ein Argument als „Hello the number %d“ als Format der Zeichenfolge verstanden werden, nicht erscheinen in der resultierenden Zeichenfolge, dies ist der Grund, warum "is correct!" nicht angezeigt wird.

+0

C unterstützt nicht _methods_. Und auch in einem OOPL 'printf' war nur eine Funktion. – Olaf

+0

@Olaf meine schlechte, feste thx für den Kommentar –

0

Ihr Versuch funktioniert nicht, weil Sie 1 appender haben (% d), aber 2-Parameter (Nummer und "richtig ist!")

stattdessen versuchen ...

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