다음 C 코드의 문제점은 무엇입니까? ("선택 ...")cstdio를 사용하여 키보드 입력 읽기
int nfds = 0;
char c[2] = " ";
char ans[2] = " ";
printf("Test p or s [p,s]: p? ");
ans[0] = (char)getchar();
if (ans[0] != '\n')
{
ans[1] = '\0';
printf("ans = %s\n", ans);
}
else
ans[0] = '\0';
/* FIXME: answering 's' -> nfds is never read */
printf ("Choose [0, 1, 2, 3]: 0? ");
c[0] = (char)getchar();
if (c[0] != '\n')
{
c[1] = '\0';
nfds = strtol(c, NULL, 10);
}
else
c[0] = '\0'
printf("nfds=%d\n", nfds);
은 "반환"작품에 대답하지만, 인쇄에서 멈추지 않는다 "S + 수익을"응답 (업데이트) 및 것처럼 계속 "반환"이미 주어졌다?
어쩌면 더 나은 솔루션이 될 것입니다 : 첫째, ans
에 문자/문자열을 읽어 기본 : 문자의 "return"
/문자열 = 'S'/ "의"정수 nfds
에 읽고 다음 질문을, 기본 : "return"
s^D는 응답하지만 s^J는 응답하지 않습니다. (\ n = return) – user1914074