2つの整数AとBを入力し、出力AとBを最初に大きい順に、次に小さい順に入力します。 コードは以下の通りです: 変数アドレスを参照し、アドレス演算子を取る方法 *ポインタ演算子(または間接アクセス演算子) #include 「stdafx.h」 #include < stdio.h> INTメイン(int ARGC、Char* ARGV[])
{ int *p1,*p2,*p,a,b; printf("整数を2つ入力してください:』); scanf("%d,%d",&a,&b); p1=&a; p2=&b; If(a<b) {p1=&b;p2=&a;}//Pointer 強調 {p=p1; p1=p2; p2=p; これにより、P1とP2に直接新しい値を割り当てられるため、中間変数pを定義する必要がなくなり、プログラムはより簡潔になります このアルゴリズムは整数変数の値を交換するのではなく、2つのポインタ(aとbのアドレス)の値を交換します
printf("a=%d,b=%d\n",a,b); printf("max=%d, min=%d\n",*p1,*p2); 返す0;
}
|