-2
次のCコードでは、scanfが機能しません。 プログラムを実行すると、2番目のprintf行まで実行され、scanf( "%c"、&セックス)はスキップされます。次のprintf()を直接実行します。 なぜこれが起こるのですか? このコードを別のCコンパイラで実行しますが、出力は同じです。Scanf()の実行時エラー。
#include<stdio.h>
void main()
{
char mar,sex;
int age,flag=0;
printf("Married [Y/N]:");
scanf("%c",&mar);
printf("Sex [M/F] :");
scanf("%c",&sex); //**This not working**
printf("Age :"); //**execution directly jumped here**
scanf("%d",&age);
if(mar=='y')
flag=1;
else if(sex=='m'&& age>=30)
flag=1;
else if(sex=='f'&& age>=25)
flag=1;
else
{
}
if(flag)
{
printf("Congratulations!!!! You are Egligible..");
else
printf("Sorry... You are not egligible..");
getch();
}
//出力
Married [Y/N]:y
Sex [M/F] :Age :23
Congratulations!!!! You are Egligible..