2017-07-23 5 views
-8

ich will, dass Lauf nur bestimmte Bedingung und andere if-Anweisungen hier übersprungen mein Codenur eine ausgeführt werden, wenn und überspringen andere, wenn, wenn man, wenn in c korrekt ist

#include <stdio.h> 
#include <conio.h> 
#include <iostream.h> 
#include <stdlib.h> 
void main(void) 
{ 
int a, b; 
printf("enter a"); 
scanf("%d",&a); 
printf("enter b"); 
scanf("%d",&b); 
if(a==1 && b<=8) 
{ 
    printf("you"); 
} 
if(a==2 && 5<b && b<=10) 
{ 
    printf("you"); 
else 
    printf("me"); 
} 
getch(); 
} 

wenn ich Programm ausführen und ein (1 eingeben) und b (6) es mir (youme) zeigen, statt nur von (Sie) es zeigt mir (Sie) und (me) zusammen, ohne Raum möchte ich nur (Sie), wenn die Bedingung anders wahr ist (me)

+2

Sind Sie sicher, dass der von Ihnen gepostete Code kompiliert wurde? es gibt ein Durcheinander mit dem anderen. –

+2

Verwenden Sie 'if else' anstelle von' if' für das zweite 'if'. Außerdem frage ich mich, wie Sie herausfinden werden, welches' if' Sie '' gedruckt hat? –

+2

Bitte lesen Sie ein gutes Anfängerbuch. C und C++ sind zwei separate Sprachen, 'iostream.h' ist nicht Teil des C-Standards (und die Verwendung von' conio.h' wird dringend abgeraten) und 'void main (void)' ist in keiner der beiden Sprachen Standard. – UnholySheep

Antwort

0

Sie folgen nicht der allgemeinen if-else Blockeigenschaft

if(a==1 && b<=8) // This is independent if 1 
{ 
    printf("you"); 
} 

Dann ist dies eine weitere if-else entweder wenn sonst in diesem Block wird unabhängig davon, ausgeführt, was

if(a==2 && 5<b && b<=10) // This is independent if-else block 2 
{ 
    printf("you"); 
} 
else 
    printf("me"); 

vorher geschehen ist für das erreichen, was Sie wollen, dass es, wenn es sein sollte, sonst, wenn und sonst blockieren

if(a==1 && b<=8) 
{ 
    printf("you"); 
} 
else if(a==2 && 5<b && b<=10) 
{ 
    printf("you"); 
} 
else 
    printf("me"); 
+0

Ihre Eltern sind falsch. – stark

Verwandte Themen