返回列表 發帖

901 其他論題 傳值呼叫

本帖最後由 李泳霖 於 2022-6-6 17:54 編輯

設計說明:
1. 開啟CPA09-1.c,在 main()上,以 scanf()含輸入二個整數 a、b,接著印出這二個整數的值。
2. 呼叫 exchange()函數,此函數有二個參數,分別為接受 a、b變數位址的指標變數,並將此 a、b二個變數值對調。
3. 印出呼叫 exchange()函數後的 a、b值,執行結果如範例圖。
4. 開啟CPA09-2.c,在 main()上,以 scanf()含輸入二個浮點數 c、d,接著印出這二個整數的值。
5. 呼叫 exchange()函數,此函數有二個參數,分別為接受 c、d變數位址的指標變數,並將此 c、d二個變數值對調。
6. 印出呼叫 exchange()函數後的 c、d值,執行結果如範例圖。



  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. void exchange(int* ,int* );
  4. int main(){
  5. int a,b;
  6. printf("請輸入兩個數字(數字跟數字中間請以空白間隔)");
  7. scanf("%d %d",&a,&b);
  8. printf("a:%d b:%d\n",a,b);
  9. exchange(&a,&b);
  10. printf("a:%d b:%d\n",a,b);
  11. system("PAUSE");
  12. return 0;
  13. }
  14. void exchange(int* a,int* b){
  15. int ch;
  16. ch = *a;
  17. *a =*b ;
  18. *b=ch;
  19. }
複製代碼
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. void exchange(double* ,double* );
  4. int main(){
  5. double c,d;
  6. printf("請輸入兩個浮點數(數字跟數字中間請以空白間隔)");
  7. scanf("%lf %lf",&c,&d);
  8. printf("c:%lf d:%lf\n",c,d);
  9. exchange(&c,&d);
  10. printf("c:%f d:%f\n",c,d);
  11. system("PAUSE");
  12. return 0;
  13. }
  14. void exchange(double* c,double* d){
  15. double ch;
  16. ch = *c;
  17. *c =*d ;
  18. *d=ch;
  19. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

返回列表