Bonjour à tous,
Voici un code récupérer des tutoriel du net, que j'ai du mal comprendre dans sons intégralité.
C'est un code qui indique si une expression est correctement parenthésée (si à chaque parenthèse ouvrante il y a bien une parenthèse fermante).
La partie que j'ai du mal à comprendre c'est en fait le début de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <stdio.h> char bienParenthesee() { char carLu; scanf("%c", &carLu); while (carLu == '(') { if (bienParenthesee() != ')') return '\0'; scanf("%c", &carLu); } return carLu; } int main() { char carFin = bienParenthesee(); if ((carFin == '\n') || (carFin == '\r')) printf("yes\n"); else printf("no\n"); return 0; }
Quand on exécute le programme on entre une chaine de caractère (contenant plusieurs parenthèses) et pas seulement un caractère. Alors que là on définit bien une variable char et pas un tableau donc pour un caractère. Si on fait ça je suppose que c'est pour lire caractère par caractère mais dans ce cas faudrait m'expliquer comment fonctionnement scanf quand on entre une chaine de caractère à l'exécution de se programme. On entre une chaine mais c'est une variable pour un caractère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char carLu; scanf("%c", &carLu);
Merci de vos explications.
Partager