Введите два целых числа — 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 emphasis {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); возврат 0;
}
|