Masukkan dua bilangan bulat, A dan B, dan output A dan B dalam urutan pertama terbesar dan kemudian terkecil. Kodenya adalah sebagai berikut: Cara mereferensikan alamat variabel & mengambil operator alamat *Operator penunjuk (atau operator akses tidak langsung) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("silakan masukkan dua angka bilangan bulat:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; jika(a<b) {p1=&b;p2=&a;}//Penekanan penunjuk {p=p1; p1=p2; p2=p; Sekarang langsung ditetapkan nilai baru ke P1 dan P2, sehingga tidak perlu mendefinisikan variabel perantara p, dan program dapat menjadi lebih ringkas Algoritma ini tidak menukar nilai variabel bilangan bulat, tetapi nilai dua pointer, (alamat a dan b)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); mengembalikan 0;
}
|