Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?
#include <stdio.h> int main() { int x = 1; while (x-- >= 1) while (x-- >= 0); printf("%d", x); return 0; }
Yanıt:
Soruda ikinci while satırı sonunda noktalı virgül olduğunu görmek gerekir. Bu durumda printf fonksiyonu while döngülerinin dışındadır. While döngüleri bittikten sonra printf fonksiyonu çağrılır.sağ taraf -- operatörü kullanıldığı için koşul içinde o anki x’in deri kullanılır ve daha sonra bir azaltılır. Ayrıca döngü koşulu sınanması için ilk olarak -- işleminin gerçekleşmesi gerekir. Koşul bu işlemden sonra sınanır. Her while döngüsünde -- işlemi iki defa gerçekleşir ve sonuç -3 olur.
Daha iyi anlamak için aşağıdaki kod parçası koşulabilir. While koşulu x in ilk değeri için bile sağlamazken koşul şartına gelmeden önce -- işlemi gerçekleşir ve sonuç 0 olur.
int x = 1;
while (x-- >= 100);
printf("%d", x) ;
Hiç yorum yok:
Yorum Gönder
Son Ütücü