작성
·
353
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을 사용하고 있습니다.