@Nexor'unkine alternatif olarak bunu da deneyebilirsiniz:
C:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x = 0;
printf("lutfen bir sayi giriniz: ");
scanf("%d%*c", &x); // * sembolü, scanf'in okuduğu değeri gözardı etmesini sağlar.
if (x % 2 == 0)
{
printf("sayi cift sayidir.\n");
}
else
{
printf("sayi tek sayidir.\n");
}
getchar(); // \n artık araya girmeyecek.
return 0;
}
Sayıyı girdikten sonra enter'a bastığınızda scanf, sadece girdiğiniz int'i okur. Enter (yani \n) ise inputta kalır ve getchar, inputtan arta kalan \n'i okur.
scanf'te kullandığım * sembolü sayesinde \n gözardı edilir, bunun sayesinde return'den önceki getchar, okuyacak bir char bulamaz ve sizin input girmeniz gerekir ki sanırım istediğiniz de bu.
@Nexor'unkine alternatif olarak bunu da deneyebilirsiniz:
C:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x = 0;
printf("lutfen bir sayi giriniz: ");
scanf("%d%*c", &x); // * sembolü, scanf'in okuduğu değeri gözardı etmesini sağlar.
if (x % 2 == 0)
{
printf("sayi cift sayidir.\n");
}
else.
{
printf("sayi tek sayidir.\n");
}
getchar(); // \n artık araya girmeyecek.
return 0;
}
Sayıyı girdikten sonra Enter'a bastığınızda scanf, sadece girdiğiniz Int'i okur. Enter (yani \n) ise inputta kalır ve getchar, inputtan arta kalan \n'i okur.
scanf'te kullandığım * sembolü sayesinde \n göz ardı edilir, bunun sayesinde return'den önceki getchar, okuyacak bir char bulamaz ve sizin input girmeniz gerekir ki sanırım istediğiniz de bu.