Soru : Aşağıdaki programın çıktısı nedir?
#include<stdio.h>
void f(int a, int b, int *c)
{
int *t = &b;
a -= 2;
b += 5;
*t += 2;
*c += 100;
}
int main()
{
int x = 6, y = 30, z = 60;
f(x, y, &z);
printf("%d, %d, %d\n", x, y, z);
}
Cevap : f fonksiyonu x ve y’nin değerlerini değiştirmez, x ve y sırasıyla ilk değerleri olan 6 ve 30 olarak kalırlar. Fonksiyonun c parametresi p’nin değeri atanır, p ise z’nin adresini
içermektedir. Fonksiyon içinde z’ye c işaretçisi ile erişilerek z’nin değeri 100 artar. Bu
durumda z’nin değeri 160 olur.