(46)以下敘述中錯誤的是 A)C程序必須由一個或一個以上的函數組成 B)函數調用可以作爲一個獨立的語句存在 C
題目:
(46)以下敘述中錯誤的是 A)C程序必須由一個或一個以上的函數組成 B)函數調用可以作爲一個獨立的語句存在 C
C爲什麼對,指針的時候不是可以返回
解答:
C)函數的參數值不能返回
eg:
#include
void swap(int *a,int *b)
{
int t;
t = * a;
*a = * b;
*b = t;
a=NULL;
b=NULL;
}
void main()
{
int a=1,b=2;
int *pa=&a,*pb=&b;
printf("pa=%x ,*pa=%d .pb=%x ,*pb=%d\n",pa,*pa,pb,*pb);
swap(pa,pb);
printf("pa=%x ,*pa=%d .pb=%x ,*pb=%d\n",pa,*pa,pb,*pb);
}
輸出:
pa=240ff5c ,*pa=1 .pb=240ff58 ,*pb=2
pa=240ff5c ,*pa=2 .pb=240ff58 ,*pb=1
說明:
調用函數 swap 是,實參是 指針 pa,pb.
調用後,pa,pb 的值沒有變,而是pa,pb指向的內存單元的值發生改變.
添加新評論