• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

비주얼 스튜디오 상에서 strlen 함수 사용시 경고 C6001이 뜨는 이유가 궁금합니다.

21.11.27 04:04 작성 조회수 254

0

#include <stdio.h>

#include <string.h> //strlen and more

int main()

{

char str1[100] = "Hello";

char str2[] = "Hello";

char str3[100] = "\0";

char str4[100] = "\n";

printf("%zu %zu\n", sizeof(str1), strlen(str1)); //C6001

printf("%zu %zu\n", sizeof(str2), strlen(str2));

printf("%zu %zu\n", sizeof(str3), strlen(str3));//C6001

printf("%zu %zu\n", sizeof(str4), strlen(str4));//C6001

        return 0;

}

4.4 strlen() 함수 0:48초 부분인데 강의에서는 아무런 워닝이 뜨지 않지만 제 비주얼 스튜디오 상에서는 str2를 제외한 str1, str3, str4에서 워닝 C6001이 발생합니다.

Using uninitialized memory 'str1'

Using uninitialized memory 'str3'

Using uninitialized memory 'str4'

근데 온라인 gcc 컴파일러에서는 아무런 워닝도 뜨지 않고, 강의 상에서의 비주얼 스튜디오에서도 아무런 워닝이 생기지 않아서 제 생각으로는 아마도 비주얼 스튜디오가 업데이트 되면서 생긴 문제 같은데 왜 이런지 이유를 알 수 있을까요?

현재 Microsoft Visual Studio Community 2019 Version 16.11.5을 사용하고 있습니다.

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.11.28

https://www.inflearn.com/questions/98075

비슷한 질문글이 있어 첨부합니다