NULL en progm C

Résolu
malikatdalam -  
 malikatdalam -
Bonjour,
j'essaie de faire un cryptage simple c'est de remplacer a par b b par c et ... voici mon progrmamm que j'essaie de executer ms en vain il m'affiche NULL :

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main(int argc, char *argv[])
{
int i=0;
char phrase[20];
printf("Entrez une phrase :\n");
gets(phrase);
for(i=0;i<strlen(phrase);i++)
{
if( ( phrase[i]>='a') && ( phrase[i]<='z') )
phrase[i]=phrase[i]+1;
}
printf("Votre nouvelle phrase est %s:\n",phrase[i]);

system("PAUSE");
return 0;
Cdlt,

2 réponses

  1. alphon5o
     
    tu t'est trompé dans le printf
    printf("Votre nouvelle phrase est %s:\n",phrase[i]);
    
    printf("Votre nouvelle phrase est [ %s ]:\n",phrase);
    

    autre soucis je te deconseille d'utiliser gets; c'est la meilleur façon de creer des trous de securité dans ton code. consulte man gets pour plus d'info

    voici un code corrigé de ce que ta fait;

    #include <stdio.h>
    #include <stdlib.h> 
    #include<string.h>
    
    #define TAILLE_BUFFER 1024
    
    int main(int argc, char *argv[])
    {
      // tu peux recuperer directement ta chaine directement avec argv
    /*   if(argc < 2){ */
    /*     fprintf(stderr,"usage : %s \"votre phrase entre griffe\"\n", argv[0]);  */
    /*     exit(EXIT_FAILURE); */
    /*   } */
    /*   char *phrase = argv[1]; */
      int i=0;
      char phrase[TAILLE_BUFFER];
      printf("Entrez une phrase : ");
      //gets(phrase); tres dangereux
      fgets(phrase, TAILLE_BUFFER, stdin); // lit TAILLE_BUFFER - 1 caractere au plus s'il n'y a pas eu de retour a la ligne(chariot) ou EOF (sous linux Ctrl-D)
      for(i=0;i<strlen(phrase);i++)
        {
    
          if( ( phrase[i]>='a') && ( phrase[i]<='z') )
            phrase[i]=phrase[i]+1;
          // si phrase[i] = z tu fais koi tu le remplace par a ou pas ? dans ce cas adapte ton code en consequence
        }
      printf("Votre nouvelle phrase est [ %s ]\n",phrase);
    
      return EXIT_SUCCESS;
    }
    
    0
    1. malikatdalam
       
      merci bcp ca march
      0