문제 1

#include <stdio.h>

int main(void)
{
	char str[50];
	int i = 0, len = 0;

	printf("문자열 입력:");
	scanf("%s", str);

	while (str[i] != '\0')
	{
		len++;
		i++;
	}

	printf("%d", len);  // sizeof(str)은 여전히 50이다. 문자열의 끝에 널문자가 추가되더라도 할당된 메모리의 크기에는 영향을 미치지 않음
	return 0;
}
...더보기

아무값으로도 초기화하지 않으면 해당 요소는 -52로 채워진다.

문제 2

#include <stdio.h>

int main(void)
{
	char str[20], result[20];
	int len=0, i=0;
	printf("영단어 입력: ");
	scanf("%s", str);

	while (str[i] != 0)  // i대신 len을 썼으면 좀 더 간결했을 것 같다.
	{
		len++;
		i++;
	}

	for (i = 0; i < len; i++)
		result[len - 1 - i] = str[i];
	result[len] = 0;

	printf("역순: %s", result);
	return 0;
}

문제 3

#include <stdio.h>

int main(void)
{
	char str[20], big;
	int i=0;

	printf("영단어 입력: ");
	scanf("%s", str);

	while (str[i] != '\0')
	{
		if (i == 0 || str[i] > big)
			big = str[i];
		i++;
	}

	printf("가장 큰 문자: %c", big);
	return 0;
}

+ Recent posts