C'de Conditional Expression Nedir Ne İşe Yarar?
-
Böyle birşey gördüm <exp1>?<exp2>:<exp3>
Nedir bu ne işe yarar nasıl çalışır ? -
exp1 = true ise exp2 yi
exp1 = false ise exp3 ü yap diyor
Gözle görmek içinde şunu derleyebilirsin :
#include int main() { int a; printf("Sayi gir!\n"); scanf("%d",&a); a < 10 ? printf("10'dan küçük\n") : printf("10'dan buyuk\n"); return 0; }
-
ternary (üçlü) operator. if..else nin kısaltılmış hali gibi düşün. exp1 true ise exp2 değilse exp3 döner ifadeden.
-
ifle aynı işi yapar hacı
-
sacrifice bunu yazdı:
-----------------------------ifle aynı işi yapar hacı
-----------------------------aynen öyle ama sanki yazımı dışında ufak bi farklılığı daha vardı şu anda aklıma gelmeyen
-
SinusX bunu yazdı:
-----------------------------exp1 = true ise exp2 yi
exp1 = false ise exp3 ü yap diyor
Gözle görmek içinde şunu derleyebilirsin :
#include int main() { int a; printf("Sayi gir!\n"); scanf("%d",&a); a < 10 ? printf("10'dan küçük\n") : printf("10'dan buyuk\n"); return 0; }
-----------------------------Özelliğini anladım printf'leri a++ ve a-- ile değiştirip b = cond.exp yaptım. a ve b'yi yazdırdığımda a bir azalmış veya artmış olarak geliyor b de a'nın eski hali oluyor.
exp. olduğu için sonucunu birşeye atarak kullanabiliyoruz anladığım kadarıyla. -
If'den guzel tarafi direkt sonucu aktarabilirsin...
a = ( b== 25) ? 12 : 45 ; gibi..