Zadajte dve celé čísla, A a B, a výstupy A a B sú najprv najväčšie a potom najmenšie. Kód je nasledovný: Ako odkazovať na premennú adresu a prijať operátor adresy *Ukazovateľový operátor (alebo operátor nepriameho prístupu) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("prosím, zadajte dve celé čísla:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(a<b) {p1=&b;p2=&a;}//Dôraz na ukazovatele {p=p1; p1=p2; p2=p; Teraz sa priamo priraďujú nové hodnoty P1 a P2, takže nie je potrebné definovať medzipremennú p a program môže byť stručnejší Tento algoritmus nezamení hodnoty celočíselných premenných, ale hodnoty dvoch ukazovateľov (adresy a a b)
PrintF("A=%D,B=%D\N",A,B); PrintF("max=%d,min=%d\n",*p1,*p2); return 0;
}
|