이 코드는 사용자로부터 입력 된 정수 (t)를 사용합니다. 루프는 't'번 실행됩니다. 하지만 나는 그것이 (t-1)
번 실행됩니다 찾으십시오. 예를 들어, 내가 입력 3
줄 경우에만 2
번 실행됩니다. 아무도 이것이 왜 일어나는지 설명해 주시겠습니까?이 루프가 몇 번 실행됩니까?
scanf("%s", &str)
을 사용해 보았지만 작동하지만 공백이 포함 된 입력 문자열을 사용할 수 없습니다. 그것은 단지 때문에 \n
문자 번째 반복에서 판독 된 버퍼 gets
남긴 이유 2 회 반복되는 것을 보인다 should.But로
#include <stdio.h>
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
char str[100];
gets(str);
printf("%s\n", str);
}
return 0;
}
절대로'gets' 함수를 사용하지 마십시오; 본질적으로 안전하지 않으며 최신 언어 버전에서 제거되었습니다. 'fgets'는 안전하게 사용할 수 있지만 좀 더 복잡합니다. –
루프 본문은't' 번 실행됩니다. – typ1232