Entrer deux entiers, A et B, et sortir A et B dans l’ordre du plus grand puis du plus petit. Le code est le suivant : Comment référencer une adresse variable et opérateur d’adresse prendre *Opérateur pointeur (ou opérateur d’accès indirect) #include « stdafx.h » #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b ; printf (« veuillez entrer deux nombres entiers : ») ; scanf(« %d, %d »,&a,&b) ; p1=&a ; p2=&b ; si(a<b) {p1=&b ;p2=&a ;}//Accentuation du pointeur {p=p1 ; p1=p2 ; p2=p ; Il est désormais directement attribué de nouvelles valeurs à P1 et P2, de sorte qu’il n’est plus nécessaire de définir la variable intermédiaire p, et le programme peut devenir plus concis Cet algorithme n’échange pas les valeurs des variables entières, mais les valeurs de deux pointeurs (adresses de a et b)
printf(« a= %d,b= %d\n »,a,b) ; printf(« max= %d,min= %d\n »,*p1,*p2) ; retour 0 ;
}
|