我试图用指针反转C中的字符串,但是输出真的很奇怪,逻辑很好,但我不确定它为什么会这样输出,下面是代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str[20], reverse_str[20], *pointer;
int i = 0;
printf("%s","Enter any string:");
scanf("%s", str);
pointer = str;
int string_length = strlen(pointer);
//int count = 0;
for (int i = string_length; i > 0; i--){
reverse_str[i -1] = *pointer;
pointer++;
}
printf("%dn", string_length);
printf("Original string = %sn", str);
printf("Reversed string = %sn", reverse_str);
}
输出如下所示:
Enter any string: Hello
Original string = Hello
Reversed string = olleH╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠Hello