Necati Ergin Hocamın kendi sayfasında bulunan çalışma sorularını ve cevaplarını  burada yanıtlamaya çalıştım. Sorulara buradan ulaşabilirsiniz.
Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?
| 
include <stdio.h> 
int main() 
{ 
	int a = 38; 
	int b = 10; 
	int c = 1; 
	int e; 
	e = ++a % b-- >> c; 
	printf("%d\n", e); 
	return 0; 
} | 
Yanıt:
Operantların işlem önceliklerine göre işlemleri parantez içine alarak işlemi gözümüze daha sade hale getirebiliriz.
e = (((++a) % (b--))) >> c ; Bu adımdan sonra parantezler içine değerleri koyarak sonuca ulaşabiliriz. Fakat burada b-- ve ++a işlemlerine dikkat etmemiz gerekiyor.++, a için ön ektir ve anın değerini etkiler. --, b için son ektir ve işlem esnasında b nin değerini değiştirmez. Bu durumda işlem şu şekilde olur (39 % 10) >> 1; → 9 >>1 → 4 sonucuna ulaşılır.
 
Hiç yorum yok:
Yorum Gönder
Son Ütücü