Miért nem lép ki 0-ra a ciklusból?
Figyelt kérdés
#include <stdio.h>
#include <stdlib.h>
int main(){
int n[100],i=0,f;
do{
scanf("%d", &n[i++]);
}while(n[i]!=0);
f=i;
for(i=0;i<f;i++){printf("%d\n", n[i]);}
system("pause");
}
2012. nov. 30. 15:51
1/3 anonim válasza:
Mert beleírsz a tömbbe, és nincs is benne nulla. Nézd meg debuggerrel.
2/3 A kérdező kommentje:
Hogy lehet orvosolni, hogy 0-ra kilépjen?
2012. nov. 30. 16:14
3/3 _Jessy_ válasza:
i++ helyett használj '++i'-t, és i kezdőértéke -1 legyen. Gondolkodj, el rafta, hogy miért jó ez, és rájössz arra is, hogy miért nem működik, amit írtál. A ciklusfeltételbe még illik beletenni egy olyat, hogy i<100, csak hogy el ne szálljon, ha valaki türelmes, és bepötyög sok számot :D
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
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!