bonjour,

il y a un truc que je ne comprends pas avec ce code:
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);
}
là où je ne comprends pas c'est ++nchiffre[c-'0'];
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 :

6 tomates et 7 bananes
ça me donne:
[deMonHunTer@hackLab langageC]$ ./compteChiffres
6 tomates et 7 bananes
chiffres = 0 0 0 0 0 0 1 1 0 0, espacement = 5, autres = 16
là je ne comprend pas le résultat de chiffres

Merci de votre aide