Salut à tous et à toutes,
Je ne sais pas comment j'aurais du nommer le topique mais en fait pouvez vous me dire où est l'abbhération informatique là dedans :
#include <stdio.h>
void CopieChaine(char * pdest, char * psrc)
{
while(*psrc != '\0') // Tant que le caractere de la chaine source n'est pas
// un ensemble vide
{
*pdest = *psrc; // On met la valeur de psrc dans pdest
*psrc++; // On incremente psrc
*pdest++; // On incremente pdest
}
if(*psrc == '\0')
pdest[*psrc] = '\0';
}
int main()
{
char source[512]/*="Un beau dimanche"*/;
char *destination;
char indic='o';
do
{
// on rentre la chaine
printf("Veuillez rentrer une chaine de caractere :\n");
gets(source);
printf("%s\n", source);
CopieChaine(destination, source);
// on affiche la source et la destination
printf("Chaine source = %s", source);
printf("\nChaine destination = %s\n", destination);
printf("'q' pour quitter\n");
scanf("%c", &indic);
}while(indic != 'q');
return 0;
}
Mon prof prétend que ce qui est écrit en rouge ne devrait théoriquement pas marché, car il nous a dit que *chose renvoie en fait une adresse donc dans cet exemple eh ben , je devrais l'avoir dans l'os, mais si vous compilez ce programme, miracle, il marche à merveille... et si je remplace *pdest++ et *psrc++ par pdest++ par psrc++, mon programme ne fonctionne plus
Pouvez vous m'expliquer en détail ces quelques lignes. Merci...