Cの問題です。
文字列(char配列)を引数として受け取り、中の要素を逆順に並び替える関数reverseを作成しなさい。
reverseの内部の処理については配列操作ではなくポインタ操作で使用すること。
          void reverse(char *s);
自力でやったやつ↓
#include <stdio.h>
void reverse(char *s)
{
char *p,c[100];
p=&c;
p = s;
for(;*p;)*p++;
*p--;
for(;*s;)*s++ = *p--;
}
main()
{
char s[100];
printf("文字列を逆から表示します.");
scanf("%s",s);
reverse(&s);
printf("%s",s);
}
までやったのですが、半分まで逆に並び替えるのですが、もう半分は元のままです。
例 abcdef を入力するとfeddef になります。
警告 W8075 asdfa.c 6: 問題のあるポインタの変換(関数 reverse )
警告 W8019 asdfa.c 8: コードは効果を持たない(関数 reverse )
警告 W8019 asdfa.c 9: コードは効果を持たない(関数 reverse )
警告 W8004 asdfa.c 6: 'p' に代入した値は使われていない(関数 reverse )
警告 W8075 asdfa.c 18: 問題のあるポインタの変換(関数 main )
警告 W8070 asdfa.c 20: 関数は値を返すべき(関数 main )
って出ます。