#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
Bunun nasıl çalıştığını kimse açıklayabilir mi? Neden 32 yazdırıyor? Freni çıkardığımda sonsuz döngü ve 12 yazdırıyor mu?
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
Bunun nasıl çalıştığını kimse açıklayabilir mi? Neden 32 yazdırıyor? Freni çıkardığımda sonsuz döngü ve 12 yazdırıyor mu?
İlk, printf ("3")
yürütülür, böylece yazdırılır 3
. Sonra printf("2")
yürütülür, yazdırılır 2
. Çünkü printf()
'nin dönüş değeri, yazdırdığı karakter sayısıdır, bu durumda 1
ve çünkü 1
sıfır olmayan bir değerdir, döngü vücutta devam eder. Vücuttaki ilk ifade şöyledir break
döngüden çıkmak demek. Böylece döngü sona erer. Yani ekrandaki sonuç şu şekildedir 32
printf("3")
for döngüsü başlatıldığında çağrılır.
printf("2")
döngü yinelemesinin sonlandırılıp sonlandırılmayacağını görmek için çağrılır.
printf (), yazdırdığı karakter sayısını döndürür; bu, her iki durumda da 1 olur, böylece döngü yürütülmeye karar verir.
Döngü gövdesi basitçe break
böylece döngü bu noktada sona erer ve program sona erer.