Soru : Aşağıdaki programın çıktısı nedir?
#include<stdio.h>
int main(){
int A[8], j, k, n = 0;
for (j=0; j < 8; j++)
A[j] = 8 - j;
for (j=0; j < 8; j++)
for (k=0; k <= j; k++)
n += A[k];
printf("%d\n", n);
}
Cevap : İlk for döngüsü ile A dizisi {8, 7, 6, 5, 4, 3, 2, 1} değerleriyle doldurmuştur. Başlangıçta n değişkenine 0 atanmıştır, sonrasındaki iç içe döngülerde n’in değeri eklemelerle güncellenmektedir, yani n güncellenmekte olan bir toplamı ifade etmektedir. Dıştaki döngü değişkeni j, 0 ve 7 arasındaki değerleri alır. Bu 8 farklı j değerinin her biri için iç döngü değişkeni k 0 değerini alınca k<=j olup içteki döngüye girileceği için A[0]=8 değeri bu toplama 8 defa eklenir. Benzer şekilde 1 ve 8 arasındaki 7 farklı j değeri için, k=1 <= j olup için içteki döngüye girileceği için A[1]=7 değeri toplama 7 defa eklenir. Benzer şekilde A[2]=6 değeri 6 defa, A[3]=5 değeri 5 defa eklenerek bu örüntü devam eder. j=7 ve k=7 olduğunda ise A[7]=1 değeri toplama 1 defa eklenir. Bu durumda n’nin son değeri 82+72+…+12 = 204 olur.