Re: 66.7 가변 인자의 정수 합 구하기
, 도장_ 관리자님이 작성 for (int i = 0; i < sizeof(types) / sizeof(char); i++)
{
printf("size: %llu", sizeof(types));
switch (types[i])
이렇게 해서 보면 sizeof(types)의 결과는 항상 8입니다.
types는 char * 포인터이므로 sizeof(types)는 포인터의 크기를 구하는 것이고, 문자열의 크기를 구하지 않습니다.
Visual Studio에서 조사식에 sizeof(types)를 넣어도 값은 8이고,
printf로 출력해도 8입니다.
32비트 시스템이면 결과는 4이고, 64비트 시스템이면 결과는 8입니다.
sizeof(types)로는 올바른 크기를 구할 수 없으며, while에서 types가 '\0' 널이 아닐 때까지 반복문을 사용하는 게 필요합니다.
types 문자열의 크기를 구해서 하고 싶다면 strlen(types)를 써야 합니다.