我想使用指针反转一个 char 数组,但是当我printf
的指针是null
. 我不知道我做错了什么或如何解决它。那么我怎样才能以类似的方式反转字符串呢?
#include <stdio.h>
void reverse(char *cstr);
int main()
{
char a[100];
char *p = a;
printf("geef een string "); // ask user to write a word
scanf("%s", &a);
reverse(p);
printf("%s", *p);
}
void reverse(char *p)
{
int i = 0;
char temp;
int lengte;
for(i = 0; *(p+i) != '\0'; i++)
{
lengte++; // length of char array without the '\0'
}
for(i = 0; i < lengte; i++)
{
temp = p[i]; // something goes wrong here but I don't know what
p[i] = p[lengte-i];
p[lengte-i] = tem;
}
}
出现问题了
p[i] = p[lengte-i];
p[lengte-i] = tem;
部分。我需要将其更改为什么?