Veuillez me dire c koi l'erreur dans ce code

GKA Messages postés 380 Statut Membre -  
 callfinger -
Bonsoir; SVP quelqu'un essaie ce code et me dit s'il est bon ou nn car sur ma machine il me dit Runtime error ou quoi !! en tt k s'il contient des erreurs merci de lé corriger ! voici le code:

#include<stdio.h>
#include<string.h>

void main ()
{
char ch1[20], ch2[20],ci,cj;
int i,j,k;

printf("donner une 1ere chaine\n");
gets(ch1);
printf("donner une 2eme chaine\n");
gets(ch2);
i==0 ;
while (i != strlen(ch1))
{
j==0;
while (j != strlen(ch2))
{
ci == ch1[i] ; cj == ch2[j];
if (ci == cj)
for (k==i;k<strlen(ch1);k++)
{
ch1[k] == ch1[k+1];
}
else
j==j+1;
}
i== i+1;
}
puts(ch1);

}
Configuration: Windows Vista Edition Intégrale Internet Explorer 7 Visual Basic 2008 Express SQL Server 2005

6 réponses

  1. iamshinji971 Messages postés 1938 Date d'inscription   Statut Membre Dernière intervention   173
     
    je ne comprend pas trop la disposition de tes "}"
    0
  2. GKA Messages postés 380 Statut Membre 77
     
    @ PL_4: ya pa de return !!!
    @iamshinji971: les "{ }" ne sont pas necessaires que dans la boucle "for" car elle contient une seule instruction
    0
  3. loupius Messages postés 789 Statut Membre 148
     
    En 'C':
    - '=' est l'assignation,
    - '==' est le test.
    Et il y a beaucoup mais vraiment beaucoup trop de tests ;-)
    Bonne continuation.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. GKA Messages postés 380 Statut Membre 77
     
    merci bien cé ca mon erreur mais encore il ne donne pas de résultat !! le curseur saute a la ligne apré ke j'introduit la 2éme chaine et ne fai rien !!!!!!
    0
  6. callfinger
     
    N'utilisez jamais gets(). Comme il est impossible de savoir à l'avance
    combien de caractères seront lus par gets(), et comme celui-ci écrira
    tous les caractères lus, même s'ils débordent du tampon, cette fonction
    est extrêmement dangereuse à utiliser. On a déjà utilisé ce dysfonc‐
    tionnement pour créer des trous de sécurité. UTILISEZ TOUJOURS fgets()
    À LA PLACE DE gets().
    extrait de man gets....
    a la compilation d'ailleurs tu un warning:


    -*- mode: compilation; default-directory: "~/" -*-
    Compilation started at Thu Jan 7 02:01:39

    gcc -Wall -std=c99 -g -o terreur test.c
    test.c:4: warning: return type of ‘main’ is not ‘int’
    /tmp/ccr92LoB.o: In function `main':
    /home/pps/test.c:10: warning: the `gets' function is dangerous and should not be used.

    Compilation finished at Thu Jan 7 02:01:40



    ensuite meme si c'est correct de faire void main(void); a cette ecriture, prefere celle-ci int main(void) et a la fin du main un return EXIT_SUCCESS;
    0