Ievadiet divus veselus skaitļus, A un B, un izvadi A un B pirmā lielākā un pēc tam mazākā secībā. Kods ir šāds: Kā atsaukties uz mainīgās adreses un adreses operatoru *Rādītāja operators (vai netiešās piekļuves operators) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("lūdzu, ievadiet divus veselus skaitļus:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; IF(a<b) {p1=&b;p2=&a;}//Rādītāja uzsvars {p=p1; p1 = p2; p2=p; Tagad P1 un P2 ir tieši piešķirtas jaunas vērtības, lai nebūtu nepieciešams definēt starpposma mainīgo p, un programma var kļūt kodolīgāka Šis algoritms nemaina veselu mainīgo vērtības, bet gan divu rādītāju vērtības (a un b adreses)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); atgriešanās 0;
}
|