/프로그램은 두 개의 정수를 추가하고 입력이 정수 인쇄 잘못된 출력이 항목의 수를 반환/첫 번째 문자를 알파벳으로 입력 할 때 두 번째 숫자 (num2)를 입력 할 수없는 이유는 무엇입니까?
#include <stdio.h>
int main()
{
int num1,num2,flag=0,sum;
char chek,chek2;
/* To check input value a integer or not*/
if(scanf("%d%c", &num1, &chek);!= 2 || chek != '\n')
{
flag=flag+1;
}
if(scanf("%d%c", &num2, &chek2) != 2 || chek2 != '\n')
{
flag=flag+1;
}
if(flag!=0)
printf("invalid input\n");
else
{
sum=num1+num2;
printf("the sum is:%d",sum);
}
return 0;
}
'scanf ("% d % c", & num1, &chek);! = 2'는 컴파일되지 않습니다.) 또한 들여 쓰기가 끔찍한데 (Glibc 프로그래머가 아닌 한)'flag'는 변수. –
"처음으로 알파벳 하나를 입력 할 때?"-> 사용 된 입력 게시 – chux
"처음으로 알파벳을 알파벳으로 입력하면 왜 두 번째 숫자 (num2)를 입력 할 수 없습니까?" "scanf ("% d % c ", & num1, & chek)'는 항상 첫 번째 입력을 정수로 파싱 할 것으로 기대하고 필요합니다. 입력에없는 경우에는 소비되지 않고 두 번째'scanf '는 같은 방법으로 같은 입력을하고 다시 실패하십시오. – kaylum