m'a donné une tâche à l'école pour écrire un programme quiprogramme de chaîne C
- Reads trois cordes
- Stocke la troisième chaîne dans la mémoire allouée dynamiquement
- Imprimer les 4 dernières lettres du premier mot par ordre alphabétique.
Voici le programme que j'ai jusqu'à maintenant. Les chaînes sont toutes stockées dans des variables différentes, ce qui les rend difficiles à trier. Si quelqu'un pouvait me donner un coup de main et m'aider à terminer ce programme, je serais très reconnaissant.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char word1[101];
char word2[101];
char* word3;
char buffer[101];
scanf("%s", word1);
scanf("%s", word2);
scanf("%s", buffer);
word3 = (char *) malloc(strlen(buffer)+1);
strcpy(word3, buffer);
return 0;
}
+1 pour une question de devoirs avec code réel! – ceejayoz
@ceejayoz moi aussi: p – jcolebrand
'scanf ("% s ", mot)' est dangereux. Vous demandez une erreur de débordement de tampon. Entrez simplement une chaîne de plus de 100 caractères et BOOM - buffer overflow. Limitez la taille maximale de l'analyse avec 'scanf ("% 100s ", mot)'. Voir http://en.wikipedia.org/wiki/Scanf#Security pour plus d'informations. – daotoad