c언어 코딩테스트 level0 문제 어디가 문제 있나요?
조회수 106회
프로그래머스 코딩테스트문제를 풀다가 비주얼 스튜디오에서 로그점 찍어가면서 하나씩 알아보고 싶은데 프로그래머스 문제는 main문 없이 푸는 문제가 main문 활용해서 해보았는데 어디가 문제가 있나요,,? 특정 문자 바꾸기 문제입니다 ! 문제는 맞추어서 solution 함수에는 문제가 없습니다 !
include
include
include
char* solution(const char* my_string, const char* letter);
int main(void) {
char str[8] = "hello";
char letter = 'h';
solution(str, letter);
printf(str);
return 0;
}
char* solution(const char* my_string, const char* letter) {
int len = strlen(my_string);
int j = 0;
char* answer = (char*)malloc(len - 1);
for (int i = 0; i < len; i++)
{
if (my_string[i] != letter[0])
{
answer[j] = my_string[i];
j++;
}
}
answer[j] = '\0';
return answer;
}
2 답변
-
solution
함수는str
의 값을 바꾸고 있지 않습니다. 당연히str
을printf
하면 처음에 설정한"hello"
그대로가 됩니다.원하시는 결과를 얻으려면,
solution
이 리턴한 값을 출력해야 할 것 같습니다. 아래 방법으로 시도해 보세요.char* answer = solution(str, letter); printf(answer);
-
댓글 입력