ポインターを使用して 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;
部。何に変更する必要がありますか?