【发布时间】:2021-08-27 16:23:59
【问题描述】:
#include <stdio.h>
void revstr(char str[])
{
char temp;
int size = 0;
while(*str != '\0'){
size++;
str++;
}
for (int i = 0; i < size/2; i++)
{
temp = str[i];
str[i] = str[size-1-i];
str[size-1-i] = temp;
}
for(int i = 0; i < size; i++)
{
printf("%c\n", *(str+i));
}
}
int main()
{
char str[20];
printf("enter a string: \n");
scanf("%s", &str);
revstr(str);
return 0;
}
为什么我的 rev 字符串没有打印出它正在打印出一些垃圾值的字符串的反向。 你能指出原因吗?
【问题讨论】:
-
***void revstr(char str[])不是可剪切粘贴的代码。如果您提供易于使用的代码示例,它会更加有用。
标签: c pointers reverse c-strings function-definition