#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
Môže mi niekto vysvetliť ako to funguje? Prečo sa tlačiť 32? Keď som odstrániť brzda je to nekonečné slučky a vytlačí 12?
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
Môže mi niekto vysvetliť ako to funguje? Prečo sa tlačiť 32? Keď som odstrániť brzda je to nekonečné slučky a vytlačí 12?
Po prvé, printf ("3")
je popravený, tak to výtlačkov 3
. Potom printf("2")
je popravený, tlač 2
. Pretože printf()
"s návratovou hodnotou je počet znak vytlačí, čo v tomto prípade, je 1
a pretože 1
je nenulové hodnoty, slučka pokračuje v tele. Prvý výrok v tele, je break
, význam pre odchod slučky. Tak slučky zaniká. Tak výsledok na obrazovke, je 32
printf("3")
sa nazýva keď pre slučky initialises.
printf("2")
je zavolal, ak je slučka iterácii by mali ukončiť.
printf() vracia počet znakov vytlačí, ktorý je 1 v oboch prípadoch, takže slučky sa rozhodne uskutočniť.
Slučky telo je jednoducho break
tak slučka sa končí v tomto bode, a program sa ukončí.