English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Collection complète d'exemples de programmation C
Dans cet exemple, les trois nombres saisis par l'utilisateur sont échangés en ordre circulaire en utilisant l'appel par référence.
Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation en CThème :
#include <stdio.h> void cyclicSwap(int *a, int *b, int *c); int main() { int a, b, c; printf("Entrez respectivement a, b et c: "); scanf("%d %d %d", &a, &b, &c); printf("Valeur avant l'échange:\n"); printf("a = %d b = %d c = %d\n", a, b, c); cyclicSwap(&a, &b, &c); printf("Valeur après l'échange:\n"); printf("a = %d b = %d c = %d", a, b, c); return 0; } //Échange circulaire void cyclicSwap(int *n1, int *n2, int *n3) { int temp; temp = ; *n2; *n2 = *n1; *n1 = *n3; *n3 = temp; }
Résultat de la sortie
Entrez respectivement a, b et c: 1 2 3 Valeur avant l'échange: a = ; 1 b = ; 2 c = ; 3 Valeur après l'échange: a = ; 3 b = ; 1 c = ; 2
Ici, les trois nombres saisis par l'utilisateur sont respectivement stockés dans les variables a, b et c. Les adresses de ces nombres sont passées à la fonction cyclicSwap().
cyclicSwap(&a, &b, &c);
Dans la définition de la fonction cyclicSwap(), nous avons attribué ces adresses aux pointeurs.
cyclicSwap(int *n1, int *n2, int *n3) { ... }
Lorsque n dans cyclicSwap()1、n2et n3Lorsque les valeurs de a, b et c dans main() changent.
Attention :La fonction cyclicSwap() ne renvoie rien.