1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 指針互換的兩種形式(換值or換地址) [打印本頁]

作者: xiaojuan    時間: 2014-9-17 14:44
標題: 指針互換的兩種形式(換值or換地址)
1......換值不換地址
    函數形式,此時函數可以

#include<stdio.h>
void swap (int * p, int *q)  //下面出現的是地址,所以此時刻應該出現的是指針
{
int temp;
temp = *p;
*p = *q;
*q = temp;
}
int main (void)
{
int a, b;
int * p, * q;
scanf ("%d %d",&a,&b);
p = &a;
q = &b;

if (a
  swap(p,q);  //此時p q都是地址,這句換相當于前面的幾行取消掉,改為swap(&a,&b)
     //因此,指針的函數調用用的是地址作為變量
printf ("max = %d  min =%d\n",a,b);

return 0;
}
2.....換地址不換值
   用函數形式,不可以這樣,只可以直接進行互換
  
// 不可能通過執行調用函數來改變實參指針變量的值,但是可以改變實參指針變量所指變量的值
//  所以這個不可以進行函數,只可以直接進行寫
#include<stdio.h>
void swap (int * p, int * q)
{
int * temp;
temp = p;
p = q;
q = temp;
}
int main (void)
{
int a, b;
scanf ("%d %d",&a,&b);
if (a
  swap(&a,&b);

printf ("max = %d  min =%d\n",a,b);
return 0;
}






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1