컴파일시 오류가 없는데 실행시키면 리드오류가 나면서 실행이 불가능합니다.
레오
#includestdio.h
int main(void)
{
int x=0;
int y=0;
int z=0;
int S=0;
printf(자연수중 하나를 치시오 : );
scanf(%d,x);
printf(자연수중 하나를 더 치시오 : );
scanf(%d,y);
printf(두수에 합은 얼마인가요? );
scanf(%d,z);
S=x+y;
if(S==z)
{
printf(정답입니다.\n);
}
if(!(S==z))
{
printf(틀렸습니다.!\n);
}
return 0;
}단순히 두값 넣어서 틀린지 맞는지 확인하는 문장을 만들어보았습니다만
컴파일할때는 문제없이 넘어가는데 실행하고 값을 입력하면 오류나면서 팅기네요.
뭐가 문제 인지 잘 모르겠습니다 ^^; 답변부탁드려요!
///////////////////////////////////////
위에 글은 몇일전 질문드린 문장입니다.
여기서 scanf 함수쓸때 &가 빠져서 그부분 지적해주신분들 감사합니다.
이번엔 #includestdio.h
int main(void)
{
int x=0;
int y=0;
int z=0;
int S=0;
printf(자연수중 하나를 치시오 : );
scanf(%d,&x);
printf(자연수중 하나를 더 치시오 : );
scanf(%d,&y);
printf(두수에 합은 얼마인가요? );
scanf(%d,&z);
S=x+y;
if(S==z)
{
printf(정답입니다.\n);
}
if(!(S==z))
{
printf(틀렸습니다.!\n);
}
return 0;
}
scanf 함수 쓸때 &도 넣었습니다만 여전히 컴파일시 오류는 없고 실행시키고 숫자를 입력시키면 오류나면서 꺼집니다.
숫자가 아닌 문자를 입력시 두번째와 세번째 입력은 받지 않으며 그대로 printf 함수 출력값만 보여주고 종료됩니다.
예를 들면 문자 k를 치면
---------------------------------------------------------------
자연수중 하나를 치시오 : k
자연수중 하나를 더 치시오 : 두수에 합은 얼마인가요?정답입니다.
---------------------------------------------------------------
이렇게 종료됩니다. 도무지 왜 이런지 모르겠네요.
답변 부탁드려요!
-
희미해
문자를 입력했을때의 해결방법은 아래처럼 하면 됩니다.
#includestdio.h
int main(void)
{
int x=0;
int y=0;
int z=0;
int S=0;
int count;
while (1) {
printf(\자연수중 하나를 치시오 : \);
count = scanf(\%d\ -
늘빈
일단 아래 프로그램은 실행이 잘 되네요.
-
솔잎
이럴때 사용하는 함수가 gets() 였던가? 아마도 맞을거예요 gets(); 쓰시면되요