bonjour,
il y a un truc que je ne comprends pas avec ce code:
là où je ne comprends pas c'est ++nchiffre[c-'0'];
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 #include <stdio.h> main() { int c, i, nespace, nautre; int nchiffre[10]; nespace = nautre = 0; for( i = 0; i < 10; ++i) nchiffre[i] = 0; while( (c = getchar() ) != EOF ) if(c >= '0' && c <= '9') ++nchiffre[c-'0']; else if( c == ' ' || c == '\n' || c == '\t' ) ++nespace; else ++nautre; printf("chiffres ="); for( i = 0; i < 10; ++i) printf(" %d", nchiffre[i]); printf(", espacement = %d, autres = %d\n", nespace, nautre); }
j'ai compris que c-'0' sert d'indice mais ++nchiffre[c-'0'] incrémente quoi? et pourquoi c-'0'?? est-ce " c moins 0 ? le reste je comprend mais c'est juste cette portion de code.
quand je compile
je rentre exemple :
ça me donne:6 tomates et 7 bananes
là je ne comprend pas le résultat de chiffres[deMonHunTer@hackLab langageC]$ ./compteChiffres
6 tomates et 7 bananes
chiffres = 0 0 0 0 0 0 1 1 0 0, espacement = 5, autres = 16
Merci de votre aide
Partager