Įveskite du sveikuosius skaičius, A ir B, ir išvestį A ir B pagal pirmąjį didžiausią, o paskui mažiausią. Kodas yra toks: Kaip nurodyti kintamąjį adresą ir paimti adreso operatorių *Žymeklio operatorius (arba netiesioginės prieigos operatorius) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("įveskite du sveikuosius skaičius:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; jei(a<b) {p1=&b;p2=&a;}//Žymeklio paryškinimas {p=p1; p1 = p2; p2=p; Dabar P1 ir P2 tiesiogiai priskiriamos naujos reikšmės, kad nereikėtų apibrėžti tarpinio kintamojo p, o programa gali tapti glaustesnė Šis algoritmas keičia ne sveikųjų skaičių kintamųjų reikšmes, o dviejų rodyklių reikšmes (a ir b adresus)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); grąža 0;
}
|