안녕하세요 질문 하나 해도 될까요?

#include <stdio.h>
void str_upper(char *s);
int main(void)
{
	char c[20];
	
	printf("문자열을 입력하시오:");
	scanf("%s", &c);
	str_upper(c);
	
printf("변환된 문자열:");
	printf("%s", s);

	return 0;
}
void str_upper(char *s)
{
	int i;
	for (i = 0;i != '\0';i++)
	{
		if (s[i] >= 'a'&&s[i] <= 'z')
			s[i] -=  'a' - 'A';
		else if (s[i] >= 'A'&&s[i] <= 'Z')
			s[i] +=  'a' - 'A';
		else
			printf("잘못입력하셨습니다.");
	}
}

문자열을 작성해서 대문자는 소문자로 , 소문자는 대문자로 바꾸는 프로그램을 해보는 중입니다.
잘 못 된건 없어보이는데
결과는 abc를 적었다하면 abc가 그대로 나오네요 (뭐가 잘 못 된건지 잘 모르겠어요)
죄송하지만 도와주실 수 있으신가요?

이코드가컴파일이되긴하나요?

i != '\0'이 아니라 s[ i ] != '\0' 아닐까요?

1 Like