<分区>
#include <stdio.h>
char *ft_strupcase(char *str);
char *ft_strupcase(char *str)
{
int i;
i = 0;
while (str[i])
{
if (str[i] >= 'a' && str[i] <= 'z')
{
str[i] -= 32;
}
i++;
}
return (str);
}
int main(void)
{
char *test = ft_strupcase("fdfFEhk");
for (int k = 0; test[k] != '\0'; k++)
{
printf("%c", test[k]);
}
return (0);
}
预期的结果是打印传递给函数的字符串,全部为大写字母。相反,我得到一个总线错误。为什么以及如何解决这个问题?