Geben Sie zwei ganze Zahlen ein, A und B, und geben Sie A und B in der Reihenfolge der zuerst größten und dann den kleinsten aus. Der Code lautet wie folgt: Wie man auf eine variable Adresse referenziert und den Adressoperator nimmt *Zeiger (oder indirekter Zugriffsoperator) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,*p,a,b; printf("Bitte geben Sie zwei ganze Zahlen ein:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(a<b) {p1=&b;p2=&a;}//Zeigerbetonung {p=p1; p1=p2; p2=p; Nun werden direkt neue Werte P1 und P2 zugewiesen, sodass die Zwischenvariable p nicht definiert werden muss, und das Programm kann sich prägnanter machen Dieser Algorithmus tauscht nicht die Werte von ganzzahligen Variablen um, sondern die Werte zweier Zeiger (Adressen von a und b)
printf("a=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1,*p2); 0 zurückzugeben;
}
|