runtime error가 나는 이유를 찾을 방법이 있나요?

gwpia0409 Reply 6 years 30 weeks ago
runtime error가 무한루프가 생겼을 때 생기는 것이라 알고 있습니다. 아무리 봐도 무한루프가 생기지 않은 거 같은데 ㅠㅠ혹시 어디서 runtime error가 생겼는지 아는 방법이 있나요?
gwpia0409 Reply 6 years 30 weeks ago
scanf 부분 없이 다른 부분들을 돌려보면 다 정상 작동하는 걸 보니..scanf때문인 거 같은데, 혹시 제가 잘못한 부분이 있을까요 ?? scanf없이는 이 문제를 풀기 힘들지 않나요 ?
gwpia0409 Reply 6 years 30 weeks ago
제가 만든 idehexa (16진수 판별함수) htod (16진수를 10진수로 바꿔주는 함수) 는 문제가 없는 거 같은데... (따로 한줄씩 돌렸을 때, 모두 정상기능을 합니다.) scanf가 추가되고 여러 줄을 입력해줄 때 문제가 되는 거 같은데, 영문을 모르겠습니다.
gwpia0409 Reply 6 years 30 weeks ago
지금 해결하기는 했는데 scanf부분을 나눠서... %d*를 쓰면 안되는 건지 궁금합니다...흠...
onacloud Reply 6 years 30 weeks ago
scanf에서 %d를 통해 숫자를 구분할때는 공백,엔터,탭만을 구분자로 사용하기 때문에 \n는 %d를 통해서 read되지 않아요. 대신 아래와 같이 하면 s1[0]에 엔터를 읽어들일 수 있죠. scanf("%d%c", &n, &s1[0]);
onacloud Reply 6 years 30 weeks ago
또는 아래코드가 더 좋겠군요 scanf("%d%*c", &n);
gwpia0409 Reply 6 years 30 weeks ago
감사합니다!!