Uzun bir aradan sonra tekrar merhaba. Artık blogumu aktif kullanmaya karar verdim. İnşallah bu kararımın arkasında durup bol bol içerik üretebilirim.
En sevdiğim dil olan C dili üzerinde ayrı bir köşe yapmayı düşünüyorum. Gerek teknik bilgiler gerek çalışma soruları gerek kendi kodlarımı bura köşe üzerinden paylaşacağım.
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?
Yanıt:
Virgül operatörünün ürettiği değer sağ operandın değeridir. Bu bilgi ile işlemi ele alalım. İşlemimizi (c=a), b; şeklinde yazabiliriz. Bu durumda kafa karışıklığını biraz azaltabiliriz. Parantez içinde c değişkenine a değişkeninin değeri atanmış oldu. Atama işleminde sonra işlemi tekrar kısaltırsak 7, 5; şekline dönüşecektir. Virgül operatörünün ürettiği değer sağ operandın değerini döndüğünü biliyorduk. Burada dönülen sağ operandın değeri yani 5 değeridir fakat kullanılmadığı için değer çöp olur. Sonuç olarak c değişkenine 7 değeri atanmış olur.
Yukarıdaki açıklamaları daha iyi anlamak için aşağıdaki iki çıktı örneğine bakalım.
printf("%d \n", c); // Burada çıktı 7 değerindedir.
#include <stdio.h>
int main()
{
int a = 7;
int b = 5;
int c;
c = a, b;
printf("%d", c);
return 0;
}
|
Yanıt:
Virgül operatörünün ürettiği değer sağ operandın değeridir. Bu bilgi ile işlemi ele alalım. İşlemimizi (c=a), b; şeklinde yazabiliriz. Bu durumda kafa karışıklığını biraz azaltabiliriz. Parantez içinde c değişkenine a değişkeninin değeri atanmış oldu. Atama işleminde sonra işlemi tekrar kısaltırsak 7, 5; şekline dönüşecektir. Virgül operatörünün ürettiği değer sağ operandın değerini döndüğünü biliyorduk. Burada dönülen sağ operandın değeri yani 5 değeridir fakat kullanılmadığı için değer çöp olur. Sonuç olarak c değişkenine 7 değeri atanmış olur.
Yukarıdaki açıklamaları daha iyi anlamak için aşağıdaki iki çıktı örneğine bakalım.
printf("%d \n", c); // Burada çıktı 7 değerindedir.
printf("%d", (c = a, b)); // c değişkenine 7 deri atanmasına rağmen çıktı değeri 5 dir. Bu çıktı virgül operatörünün nasıl çalıştığını daha net açıklıyor.
Hiç yorum yok:
Yorum Gönder
Son Ütücü