이 코드를 고려 :이유는()는 문자 포인터 인수를 도착하지 않는 이유는 무엇입니까?
#include <stdio.h>
int main()
{
char *s;
gets(s);
printf("%s",s);
return 0;
}
나는 stdin
에서 일부 입력을 입력 한 후,이 경우 런타임 오류가 발생합니다. s
가 배열, s[size]
로 선언 그러나 경우에는 문제가 없다. 그러나 gets
프로토 타입을 고려, char *gets(char *s);
는 작동하지해야합니까?
'대상'을 가리키는 메모리를 할당하지 않았습니다. – Barmar
's = malloc (BUFSIZE); ' – Barmar
1) 설명서를 읽었습니까? ** **'char *'를 취합니다. 2) ** 절대'gets'를 사용하지 마십시오 ** 표준에서 제거되었으며 모든 현대 라이브러리는 사용하려고하면 경고합니다. – Olaf