Bu başlığı stackoverflow'da gördüm ve çok hoşuma gittiği için buradan ben de paylaşmak istedim. C ya da C++ dilinde (Java bile olabilir) aşağıdaki kodun çalıştığını düşünün ve --> operatörünün buradaki rolünü ve çalışma şeklini anlamaya çalışın. Sorunun çözümünü aşağıda paylaşacağım ama çözüme geçmeden kendiniz anlamaya çalışırsanız daha keyifli oluyor.
#include <stdio.h>
int main()
{
int sayi = 5;
while (sayi --> 0)
{
printf("%d ", sayi);
}
// çıktı: 4 3 2 1 0
}
Bu şekliyle bakınca sanki sayi değişkeni sıfıra giderken gibi bir anlam çıkıyor. Çıktılar da sıfıra kadar gidince daha da anlamlı oluyor durum. İyi de C'ye ya da C++'ya limit gibi bir yere giderken diye bir operatör yok ki?
Şimdi aynı kodu daha okunaklı bir şekilde tekrara yazıyorum. C'den üretilen dillerden en az birisi konusunda temel düzeyde bilgi sahibi olanlar nasıl bir trolleme olduğunu görebilirler.
#include <stdio.h>
int main()
{
int sayi = 5;
while ((sayi--) > 0)
{
printf("%d ", sayi);
}
// çıktı: 4 3 2 1 0
}
Yani --> işareti bir operatör gibi görünüyor olsa da aslında sayi değişkeninin azalması için sayi-- ile büyüktür işareti olan > simgelerinin yanyana gelmesinden ibaret.