Hogyan kell while ciklust addig futtatni, ameddig 'ennyi' végjelet nem kap? C nyelv.
C-ban kellene, de sehogy sem működik ahogy én gondolom! :/
Alapvetően do-while ciklust alkalmaztam:
do{
scanf("%s",nev);
}while(nev != 'ennyi');
Nem fut le. A feladata az lenne hogy ha nev = ennyi, akkor kitör a ciklusból. De ez csak 1 karakterrel működik. pl.:
while(nev != 'e');
probléma megoldva:
#include <stdio.h>
int main(void)
{
char ch;
char cg[5];
do {
cg [5]= 'ennyi';
ch = getchar();
printf("%c\n", ch);
} while (ch != cg[5]);
return 0;
}
ez is úgy rossz, ahogy van
'ennyi' ez micsoda??
na mindegy, két karaktertömb egyenlőségét még véletlenül se egyenlőségjellel ellenőrizzük, hanem mondjuk strcmp függvénnyel
A ' ' egy karakter jelzése.
A " " egy karakterlánc literál.
Utóbbi esetben használj strcmp-t, nem lesz elég egy zárójel.
#include <stdio.h>
#include <string.h>
int main ()
{
char szKey[] = "ennyi\n";
char szInput[80];
do {
printf ("Ird be: ennyi \n");
fgets (szInput,80,stdin);
} while (strcmp (szKey,szInput) != 0);
puts ("Helyes!");
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!