[ CnUnix ] in KIDS 글 쓴 이(By): YoungHo (이영호) 날 짜 (Date): 1995년02월13일(월) 11시08분25초 KST 제 목(Title): [Re] C에서 type checking 질문을 보고 coding을 한번 해 보았는데 그사이에 다른 분이 해답을 설명해 주셨더군요 이왕 짠 거니까 굳이 coding 하는데 시간 쓰지 마시고 한번 사용해 보시죠 scanf대신에 get_int 함수를 사용하시면 될것 같습니다. scanf의 argument가 늘어나면 while문을 늘이면 될거구요. get_int(i, j) int *i, *j; { char c; *i = *j = 0; while((c = getchar()) != '\n' && c != ' ') { if(!isdigit(c)) { printf("InputA is not digit c = %d\n", c); return; } /*--- 48 : ascii value of '0' ---*/ *i = (c-48) + (*i) * 10; } while((c = getchar()) == ' '|| c == '\n'); do { if(!isdigit(c)) { printf("InputB is not digit c = %d\n", c); return; } /*--- 48 : ascii value of '0' ---*/ *j = (c-48) + (*j) * 10; } while((c = getchar()) != '\n' && c != ' '); } |