我在这里有一个数组,一个人的名字是通过键盘输入的,我必须将其取反,但是由于某种原因,每当我运行代码时,它就都为null
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void reverse_name(char *pointer, int length);
int main()
{//open main
char name[20];
int size;
printf("enter name\n");
scanf("%s", name);
size = strlen(name);
reverse_name(name, size);
return 0;
}//close main
void reverse_name(char *pointer, int length)
{//reverse open
int i;
for(i =0;i<length;i++)
{//open for
pointer[i] = pointer[length - i];
}//close for
printf("new name is %s", *pointer);
}//reverse close
最佳答案
它应该是
pointer[i] = pointer[length - i - 1];
您实际上正在考虑超出其长度的数组单元。
关于c - 反转数组中的字符的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20841348/