2016-09-22 6 views
-2
#include<stdio.h> 
#include<conio.h> 
#define FIRST_PART 7 
#define LAST_PART 5 
#define ALL_PARTS FIRST_PART+LAST_PART 
int main() 
{ 
    printf ("The Square root of all parts is %d", ALL_PARTS * ALL_PARTS) ; 
    getch(); 
    return(0); 
} 

In dem obigen Code die FIRST_PART als 7Wie ist der Ausgang 47?

LAST_PART definiert ist, wird als 5

und ALL_PARTS als FIRST_PART + LAST_PART (die 12 ist im Idealfall)

initialisiert definiert, aber wenn ich bin Drucken ALL_PARTS * ALL_PARTS gibt mir 47 als Ausgabe! (Aber ich dachte, Antwort wäre 144)

Bitte kann mir jemand erklären, wie?

+0

7 + 5 * 7 + 5 47 sein, warum also erwarten Sie nicht, dass die Antwort? (TIPP: Wenn Sie Berechnungen als Teil eines Makros durchführen, wrap in Klammern) –

+0

sollte es 47 sein – iamsankalp89

Antwort

1

Die Antwort sollte 47

FIRST_PART + LAST_PART * FIRST_PART + LAST_PART 

MULTIPLICATION HAS MORE PRECEDENCE 

SO 7 + 5 * 7 + 5 

7 + 35 + 5 

47 
+1

hoffe es wird Ihnen helfen –

+0

Aber der Wert 5 + 7 = 12, oder? –

+0

Wert von ALL_PARTS sollte 12 * 12 sein? –