C Programlama: İki Tam Sayıyı Toplama
Standart girdiden iki tam sayı okuyan bu örnekte asıl ayrıntı toplama işlemi değil, giriş dönüşümünün doğrulanmasıdır.
Bu örnek, standart girdiden iki tam sayı okuyup toplamı standart çıktıya yazar. Girdi dönüşümü doğrulanmadan değişkenler kullanılmamalıdır.
Kaynak Kod
#include <stdio.h>
int main(void)
{
int first;
int second;
printf("İki tam sayı giriniz: ");
if (scanf("%d %d", &first, &second) != 2) {
fputs("Geçersiz giriş.\n", stderr);
return 1;
}
printf("Toplam: %d\n", first + second);
return 0;
}Girdi Dönüşümü
scanf başarıyla dönüştürdüğü alan sayısını döndürür. İki değer beklenen bu örnekte sonuç 2 değilse değişkenlerin tamamı geçerli veri içermeyebilir. Hata yolu standart hata akışına yazılır ve sıfırdan farklı süreç koduyla sonlanır.
&first ve &second ifadeleri değişkenlerin adresini verir. scanf, dönüştürdüğü değerleri bu adreslerdeki nesnelere yazar.
Taşma Sınırı
İki int değerin toplamı temsil aralığını aşarsa signed integer overflow oluşur ve C standardı açısından davranış tanımsızdır. Girdi aralığı dış kaynaktan geliyorsa toplama daha geniş türde yapılmalı veya sınırlar önceden denetlenmelidir.
Kaynakça
- **[1]** Brian W. Kernighan; Dennis M. Ritchie. (1988). The C Programming Language, Second Edition. Prentice Hall.
- **[2]** International Organization for Standardization. (2011). ISO/IEC 9899:2011 - Programming Languages - C. ISO.