2016-11-16 4 views
0
#include <stdio.h> 
void main() 
{ 
    int a=1; 
    char c; 
    x:for(a=1;a!=0;a++) 
    { 
     printf("Hello\n"); 
     c=getch(); 
     if(c=='n') 
      exit(0); 
     else 
      goto x; 
    } 
} 

// mich bitte mit diesem Programm unterstützen, indem sie unter Verwendung von primären Operatoren nurEndlosschleife bis Taste gedrückt

+3

Also, was ist das Problem? –

+1

Bitte beachten Sie die Warnungen des Compilers: Sie haben '#include ' und '#include ' verpasst. –

+0

warten Sie einfach, um eine Taste zu drücken, ich möchte es unendlich oft drucken und enden, wenn ich die feste Taste char in diesem Fall 'n' :) gedrückt. – Maddy

Antwort

1

Dies ist ein wenig anders ist, Ihnen zu zeigen, eine einfache Lösung. Aber wenn Sie nicht kbhit verwenden dürfen, stecken Sie fest.

#include <stdio.h> 
#include <conio.h>    // include the library header 

int main(void)     // correct signature for main 
{ 
    int c = 0;     // note getch() returns `int` type 
    while(c != 'n')    // until correct key is pressed 
    { 
     do {     // forever 
      printf("Hello\n"); 
     } while(!kbhit());  // until a key press detected 
     c = getch();   // fetch that key press 
    } 
    return 0; 
} 

Denken Sie daran, es nur Tests für Klein n.

+0

while (! Kbhit()) was macht das "!" bedeutet – Maddy

+1

Es bedeutet 'while (kbhit() == 0)'. Das '!' Ist ein boolescher 'NOT'-Operator. Mit anderen Worten, nicht wahr, in diesem Fall ist true irgendein Wert ungleich null, der von 'kbhit()' zurückgegeben wird, wenn ein Schlüssel auf das Lesen wartet. In C ist jeder Wert ungleich 0 implizit wahr und 0 ist falsch. –

+1

Vielen Dank es zu schätzen wissen. – Maddy

0

Versuchen Sie es.

#include<stdio.h> 
#include<stdlib.h> 
#include<conio.h> 
int main(void) { 
    char c='y'; 
    while(c!='n') { 
     while(!kbhit()) { 
      printf("Hello\n"); 
     } 
     c=getch(); 
    } 
} 

Bitte beachten Sie, dass ich dies als conio.h nicht kompiliert haben mir jetzt nicht verfügbar.

1

der gepostete Code wird nicht kompiliert!

Der folgende Code wird die Aufgabe erledigen.

bemerken, dass die goto eliminiert

Beachten Sie, dass die nicht benötigten Variablen

Hinweis, dass die entsprechenden Kopfdateien enthalten sind

Hinweis eliminiert die Signatur für die Funktion main() korrigiert wird

#include <stdio.h> // printf() 
#include <conio.h> // getch() kbhit() <-- use correct header file 

int main(void)   // <-- use valid signature 
{ 
          // <-- eliminate unneeded variables 
    while(1)    // <-- non-confusing (and simple) loop statement 
    { 
     printf("Hello\n"); 

     if(kbhit()) 
     { // then some key has been pressed 
      if('n' == getch()) 
      { // then 'n' key has been pressed 
       break;  // <-- exit the loop 
      } 
     } 
    } 
} // end function: main 
Verwandte Themen