salut ,
je suis entrein d'ecrire un programme en c ,le probleme c'est que syntaxiquement tous est correcte mais sans printf (qui est pour moi inutile ) mon programme ne fonctionne pas correctement
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
void  decaler_gauche(char **m_a,int compteur){
 
int comp;
char tmp[20];
 
for (comp=0;comp < strlen(*m_a)-compteur;comp++)
  {
    tmp[comp]=(*m_a)[comp+compteur];
  }
tmp[comp]='\0';
//printf(" %s \n",tmp);   c'est ce printf qui resoud le probleme mais je ne le veut pas
*m_a=tmp;
 
}
int suivant(char **m_a){
 
int longeur,compteur,v_retour,position=0;
char tmp[20],*s;
 
int state=0;
longeur=strlen(*m_a);
for(compteur=0;compteur<longeur;compteur++)
  {
   if(isdigit((*m_a)[compteur]))
     {
       tmp[compteur]=(*m_a)[compteur];
       state=1;
     }
   else
      { 
       if((*m_a)[compteur]=='.'&& state==1)
           {
             tmp[compteur]='\0';
             decaler_gauche(m_a,compteur+1);
            return(4);
           }
           else
            {
             return(-1);
 
            }
 
      }  
   }
 
}
int main(){
char *s="1.55.8.9.1.2";
int i;
i=suivant(&s);
printf("la chaine vaut  %s \n",s);//sans le printf  dans la fct decaler_gauche() ce printf //n'affiche pas la vrai valeur de s
 
}
merci d'avance.