I want to find out one by one while solving the programmer's coding test problem by taking a log point in the visual studio, but I tried solving the programmer's problem without the main door using the main door, where is the problem? This is a specific character replacement problem! There is no problem with the solution function by matching the problem!
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;
}
c
The solution
function is not changing the value of str
. Naturally, if str
is printf
, it will remain the same as the "hello"
that was initially set.
In order to get the result you want, I think you need to print the value returned by solution
. Try it the way below.
char* answer = solution(str, letter);
printf(answer);
© 2024 OneMinuteCode. All rights reserved.