2016-09-09 3 views
0

Ich habe gerade angefangen, C-Programmierung letzte Woche zu lernen, und ich habe über einige Grundlagen darüber gelernt. Jetzt versuche ich ein Programm zu erstellen, das zwei Zahlen addieren und das Ergebnis anzeigen kann. Hier ist mein Code:C: Zusätzliche Ausgabe in printf

#include <stdio.h> 

int main (void) 
{ 
    int a; 
    int b; 
    int result; 

    printf("Insert a number:%d\n"); 
    scanf ("%d",&a); 

    printf ("Insert the next number:%d\n"); 
    scanf ("%d",&b); 

    result = a + b; 

    printf ("Result is:%d\n",result); 
    return 0; 

} 

Es kompiliert und ausgeführt werden kann, aber das folgende Ergebnis gezeigt. [1] http://i.stack.imgur.com/4Xjdv.png

Kann mir bitte jemand helfen, den 4200612 loszuwerden, der bei der ersten printf Erklärung ausgegeben wird? Danke für deine Hilfe und Entschuldigung für mein schlechtes Englisch.

+5

Durch das Entfernen der unnötigen '% d' aus den ersten 2' printf' Anweisungen, die kein entsprechendes Argument haben, so dass sie Junk drucken. –

+0

"das folgende Ergebnis wird angezeigt". Welches Ergebnis? – Gabriel

+0

Bitte folgen Sie den Regeln und posten Sie den Text als Text, nicht als Bild! – Olaf

Antwort

1

Es gibt keine Notwendigkeit von %d in ersten zwei printf Anweisung.

printf("Insert a number: "); 
scanf ("%d",&a); 
printf ("Insert the next number: "); 
scanf ("%d",&b); 

Da gibt es kein entsprechendes Argument. Es wird ein zufälliger Wert ausgegeben.

+0

Okay, hab es jetzt. Vielen Dank! Und darf ich fragen, was ist der Unterschied zwischen% d und% f? –

+1

@ J.Yang: '% d' und'% f' werden zum Lesen und Schreiben bzw. für Integer- und Fließkommazahlen verwendet. – Shravan40

1

Versuchen Sie, die zusätzlichen% d's in Ihrem printfs loszuwerden.

+1

Verstanden, danke! –