Введіть два цілі числа, A і B, і виведіть A та B у порядку від спочатку найбільшого, потім найменшого. Код виглядає так: Як посилатися на змінну адресу та взяти оператор адреси *Оператор вказівника (або оператор непрямого доступу) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("будь ласка, введіть два цілих числа:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(a<b) {p1=&b;p2=&a;}//Pointer виділено {p=p1; p1=p2; p2=p; Тепер йому безпосередньо присвоюють нові значення P1 і P2, тому немає потреби визначати проміжну змінну p, і програма може стати більш лаконічною Цей алгоритм не міняє місцями значення цілих змінних, а значення двох вказівників (адреси a і b)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); return 0;
}
|