Input due interi, A e B, e output A e B nell'ordine di primo più grande e poi di più piccolo. Il codice è il seguente: Come fare riferimento a un indirizzo variabile e prendere l'operatore indirizzo *Operatore puntatore (o operatore di accesso indiretto) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("inserire due numeri interi:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; se(a<b) {p1=&b;p2=&a;}//Enfasi del puntatore {p=p1; p1=p2; p2=p; Ora gli vengono assegnati direttamente nuovi valori a P1 e P2, così che non è necessario definire la variabile intermedia p e il programma può diventare più conciso Questo algoritmo non scambia i valori delle variabili intere, ma i valori di due puntatori (indirizzi di a e b)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); ritorno 0;
}
|