為什麼這個問題-->見連結例子與其最佳答案
http://zhidao.baidu.com/question/98153744.html
必須用call by address才能正確傳遞函式間的結果
而以下寫法不用call by address也能正確回傳a[n]的結果呢
#include"stdio.h"
void F1(int a[]);
#define N 5
void main()
{
int i,a[N];
printf("\n請您輸入任意的五個整數:\n");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
printf("\n排序后的數列為:\n");
F1(a);
for(i=0;i<N;i++)
printf("%d ",a[i]);
//<--為何F(a)寫法不是用call by address也能正確重新編排a[i]內容的排序???
printf("\n");
}
/*對任意的5個整數進行由大到小的排序!*/
void F1(int a[])
{
int i,j,temp;
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1;j++)
{
if(a[j+1]>a[j])
{
temp=a[j] ;
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
--
你知道每年全球有多少人死於飢餓嗎?美國的「The Hunger site」
http://www.thehungersite.com/clickToGive/home.faces?siteId=1 網站上只要網友
每天上網按一次,他們就會聯合世界企業家,捐給世界各地饑民一碗食物,
光是去年一整年,「The Hunger site」就送出了4,800萬碗食物給世界各地需要的
饑民.只要連上網路,動動你的滑鼠,加入首頁,每天擊點一次就可以幫助一個人,
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: hateexam 來自: 218.172.107.241 (05/22 05:22)
推
05/22 08:09, , 1F
05/22 08:09, 1F
推
05/22 10:08, , 2F
05/22 10:08, 2F
→
05/22 16:48, , 3F
05/22 16:48, 3F
→
05/22 22:23, , 4F
05/22 22:23, 4F
→
05/22 22:25, , 5F
05/22 22:25, 5F
討論串 (同標題文章)