Sisesta kaks täisarvu, A ja B, ning väljund A ja B esimesena suurimast ja seejärel väikseimast. Kood on järgmine: Kuidas viidata muutujale aadressile ja võtta aadressioperaator *Osuti operaator (või kaudse ligipääsu operaator) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("palun sisesta kaks täisarvu:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(a<b) {p1=&b;p2=&a;}//Osutaja rõhuasetus {p=p1; p1=p2; p2=p; Nüüd määratakse sellele otse uued väärtused P1-le ja P2-le, nii et vahepealset muutujat p ei ole vaja defineerida ning programm saab muutuda täpsemaks See algoritm ei vaheta täisarvuliste muutujate väärtusi, vaid kahe osutaja väärtusi (aadressid a ja b)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); tagasitulek 0;
}
|