2017-07-22 11 views
-6

Ich beginne gerade C Programmierung und verwende Eclipse Mars Umgebung und MinGW Compiler. Beim Schreiben eines Programms, das zwei Ganzzahlen addiert und die Summe ausgibt, ist ein Problem aufgetreten.C-Compiler Warnung "Warnung: zu viele Argumente für das Format", wie zu beheben?

Ich erhielt die „Warnung: Zu viele Argumente für Format“ Dialog für die folgende Anweisung:

printf("Sum of %d ", integer1," and %d", integer2," is: %d\n", sum); 

Kann jemand bitte erklären, warum dies falsch ist und wie ich es beheben kann?

(die vollständige Programm steht unten):

#include <stdio.h> 
#include <stdlib.h> 

int main(){ 

    int integer1; 
    int integer2; 

    printf("Enter first integer \n"); 
    scanf("%d\n", &integer1); 

    printf("Enter second integer \n"); 
    scanf("%d", &integer2); 

    int sum; 
    sum = integer1 + integer2; 

    printf("Sum of %d ", integer1," and %d\a", integer2," is: %d\n", sum); 

    system("pause"); 

    return 0; 
} 

Kann mir jemand erklären, wie man die falsche Anweisung neu zu schreiben?

+3

So verwenden Sie printf – Asesh

+0

"' printf ("Summe von% d", integer1, "und% d \ a", integer2, "ist:% d \ n", Summe); '" 'printf' doesn ' In seinen _varijdic_args interessieren Sie sich nicht für Formatbezeichner. – George

+0

Kann printf so verwendet werden, dass mehr als ein Argument eingefügt werden kann? Wie in Java, wo Sie einfach das Additionssymbol zwischen Argumenten einfügen? –

Antwort

4

printf() nimmt ein Zeichenfolge, die Formatbezeichner enthalten kann, und dann eine Liste von Argumenten:

printf("Sum of %d and %d\a is: %d\n", integer1, integer2, sum); 
3

Die Funktion printf hat die folgende Erklärung

int printf(const char * restrict format, ...); 

So Sie

schreiben sollte
printf("Sum of %d and %d\a is: %d\n", integer1, integer2, sum); 
Verwandte Themen