English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base C

Contrôle de flux C

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chains de caractères en langage C

Structure C

Fichier C

Autres C

Manuel de référence C

Programme C utilisant l'appel par référence pour échanger des éléments en boucle

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 :

Le programme appelle les éléments par référence pour l'échange

#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.

Collection complète d'exemples de programmation C