だからここに私のコードがあります。
#include<stdio.h>
int main()
{
int a[4]={6,2,7,3};
sort(a,4);
int i;
for(i=0;i<4;i++)
printf("%d",a[i]);
}
int sort(int a[],int n)
{
int i,j,temp;
for (i=0; i< (n -1); i++)
{
for(j = (i+1); j < n; j++)
{
if (a[i]< a[j])
{
temp= a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
出力は7632です。関数に渡されたときに、変数の値がメインで変更されることはないと思いました(ポインターを使用しない限り)。コピーしただけで、操作は完了です。しかし、ここでは a[i] の値がメイン関数で変化しています。それはどのように機能しますか?ソートされた配列を返すことすらありません。