設計說明:
(1) 開啟CPA06-1.c ,撰寫傳址呼叫的程式。請在主程式main()上,以scanf()函數輸入兩個整數 a、b,接著印出目前這兩個整數之值。
(2) 呼叫exchange()函數,此函數有兩個參數,分別為接收a,b變數位址的指標變數,並將此 a、b 兩個變數值對調。
(3) 印出呼叫exchange函數後的a.b變數值,輸出如執行結果三考畫面(1)。
(4) 開啟CPA06-2.c,撰寫傳址呼叫的程式 .請在主程式main()上,以scanf()函數輸入兩個浮點數 c、d,接著印出目前這兩個浮點數之值。
(5) 呼叫exchange()函數,此函數有兩個參數,分別為接收c、d變數位址的指標變數,並將此c、d兩個變數值對調。
(6) 印出呼叫exchange函數後的c、d變數值,輸出如執行結果三考畫面(2)。
此題原意為撰寫 2 支 c 程式,但因 judge 系統不做 2 支程式的處理,因此本題改成:
撰寫 2 支副程式 名稱分別為 exchangeInt 與 exchangeDouble,函數原形如下:
int exchangeInt(整數變數傳址模式,整數變數傳址模式);
double exchangeDouble(浮點數變數傳址模式,浮點數變數傳址模式);
主程式參考如下:
int main(){
int a,b;
double c,d;
printf("請輸入兩個數字(數字跟數字之間請以空白間隔)");
scanf("%d %d",&a,&b);
printf("請輸入兩個浮點數字(數字跟數字之間請以空白間隔)");
scanf("%lf %lf",&c,&d);
printf("a:%d b:%d\n",a,b);
exchangeInt(傳入a,b);
printf("a:%d b:%d\n",a,b);
printf("c:%d d:%d\n",c,d);
exchangeDouble(傳入c,d);
printf("c:%d d:%d\n",c,d);
}
10 98 2.5 54.9
請輸入兩個數字(數字跟數字之間請以空白間隔)10 98 請輸入兩個浮點數字(數字跟數字之間請以空白間隔)2.5 54.9 a:10 b:98 a:98 b:10 c:2.500000 d:54.900000 c:54.900000 d:2.500000
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |