Hata-1
if sayi==10 //Söz dizimi hatası
printf ("Girilen sayi 10\n");
Koşul ifadesinde ( ) sembolleri kullanılmadığı için “syntax error” hatası alınır (Söz dizimi hatası).
Hata-2
if (sayi==10); //Boş ifade
printf ("Girilen sayi 10\n");
Koşul ifadesinden sonra ; sembolü kullanılmıştır. C derleyicisi için boş bir ifadedir. Sonraki satır bu satırdan bağımsızdır.
Hata-3
if (10<=sayi<=50) //Mantıksal Hata
Sonucu her zaman doğru olan mantıksal bir hatadır.
Koşul ifadesi soldan sağa doğru değerlendirilir. sayi değişkenin değeri 10 ile karşılaştırılır.
10’dan küçükse false yani 0 sonucu döner,
10’dan büyükse true yani 1 sonucu döner,
Her iki durum da (0 veya 1 sonucu) dönen değer 50’den küçük olacağı için bu ifade her zaman doğru sonuç verir.
Bunun yerine ((sayi>=10) && (sayi<=50)) koşul ifadesi kullanılmalıdır.
Hata 4
if (sayi=10) //Mantıksal Hata
Sonucu her zaman doğru olan mantıksal bir hatadır.
Koşul ifadesinde karşılaştırma operatörü == yerine, atama operatörü = kullanılmıştır.
Atama sonucunda 10 değeri oluşur.
10 değeri 0’dan büyük olduğu için sonuç “true” dönecektir ve bu da yanlış bir sonuç üretecektir.
Atama operatörü yerine, == karşılaştırma operatörü kullanılmalıdır.