任意の配列を反転するコードを書きました。これは最初から最後まで意味がありますが、char 型では機能しません。任意の配列 (int、float、char) を元に戻すコードをどのように記述すればよいでしょうか? たとえば、元の配列は次のとおりです: 1,2,3,4,5,6,7,8,9,10 実行後、配列は次のようになります: 10,9,8,7,6,5,4,3 ,2,1
私のコード:
#include <stdio.h>
#define SIZE 10
void reverseArr ( void *arr, unsigned size);
void main ()
{
char a[SIZE] = {'a','b','c','d','e', 'f', 'g', 'h', 'i', 'j'};
reverseArr (a, SIZE);
}
void reverseArr ( void *arr, unsigned size)
{
int *start, *end, temp;
start=(int*)arr;
end=(int*)arr+9;
while (start<end)
{
temp=*start;
*start=*end;
*end=temp;
start++;
end--;
}
}