말 그대로 2 시간 동안 만 프로그램을 배우고 있습니다. 저는 Sams Teach Yourself C를 하루에 한 시간 만에 사용하고 있으며 2과에서 겉보기에 단순한 운동 만하고 있습니다.
5. 다음 프로그램은 무엇을합니까? (입력, 컴파일 및 실행하십시오.)
/* ex02-05.c */ #include <stdio.h> #include <string.h> int main(void) { char buffer[256]; printf( "Enter your name and press <Enter>:\n"); fgets( buffer ); printf( "\nYour name has %d characters and spaces!", strlen( buffer )); return 0; }
그래서 책의 뒷면에는 최종 결과가 내가 입력하고 이름을 지정하고 공백과 문자의 양을 알려 주어야한다고 말합니다. 그러나 "9 행에서 fgets 함수를 사용하기에는 인수가 너무 적습니다"라는 오류가 표시됩니다.
이것은 책의 오류입니다. 컴파일러가 말했듯 fgets()
이 세 개의 인수가 필요합니다.
이것은 아마도 fgets()
deprecated 를 대체 하기 위해 과도하게 검색 및 교체 한 결과 일 것입니다 gets()
. 여기서 의도 한 것은 아마도 다음 중 하나 일 것입니다.
gets(buffer);
대부분의 최신 컴파일러에서 경고를 생성합니다.
fgets(buffer, sizeof(buffer), stdin);
올바른 인수를 fgets()
.
이 오류는 책의 다른 부분이 부주의하게 작성되거나 업데이트되었을 수 있음을 나타내므로 문제가됩니다. 조심스럽게 밟으십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다