例如:AAbbCC应为AACCbb
一切都在页面上运行,但由于某种原因,当函数交换值时,str
的值会发生变化(在运行结束时,程序会打印AAC的值)
这是我的代码:
void capital_to_Low(char *str)
{
int i = 0, j = (strlen(str)) -1;
while (i < j)
{
if (str[i] >= 'a' && str[i] <= 'z')
{
swap(&str[i], &str[j--]);
}
else i++;
}
puts(str);
}
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
答案 0 :(得分:2)
将void swap(int * a,int * b)更改为void swap(char * a,char * b),因为您指的是字符的地址而不是整数