FONCTION STRCAT
Résolu
CoDForlan
Messages postés
54
Statut
Membre
-
CoDForlan Messages postés 54 Statut Membre -
CoDForlan Messages postés 54 Statut Membre -
Bonjour,
Je débute dans la programmation du langage C et je suis rendu à l’apprentissage des chaînes de caractères str...
Donc pour m’entraîner je conçois des petites fonction qui n'ont pas vraiment de sens.
Et la j'ai un problème avec la fonction strcat qui permet je crois de concaténer une chaîne dans une autre et je n'y arrive pas.
Je veux ajouter un 0 quand il y un chiffre et ajouter un 1 quand il y a autre chose.
Le problème c'est que quand je test il me répond ça :
Je débute dans la programmation du langage C et je suis rendu à l’apprentissage des chaînes de caractères str...
Donc pour m’entraîner je conçois des petites fonction qui n'ont pas vraiment de sens.
Et la j'ai un problème avec la fonction strcat qui permet je crois de concaténer une chaîne dans une autre et je n'y arrive pas.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int findNum(char* tabEntCalc, char* outEntCalc, int result, int numOfNum);
int main(int argc, char const* argv[]) {
char tabEntCalc[256] = { 0 }; // je met par exempe 17 + 13
char outEntCalc[256] = { 0 };
int numOfNum = 0;
int result = 0;
findNum(tabEntCalc, outEntCalc, result, numOfNum);
return 0;
}
int findNum(char* tabEntCalc, char* outEntCalc, int result, int numOfNum) {
gets(tabEntCalc);
numOfNum = strlen(tabEntCalc);
for (int i = 0; i < numOfNum; ++i) {
if (tabEntCalc[i] =='0' || tabEntCalc[i] == '1' || tabEntCalc[i] == '2' || tabEntCalc[i] == '3' || tabEntCalc[i] == '4' || tabEntCalc[i] == '5' || tabEntCalc[i] == '6' || tabEntCalc[i] == '7' || tabEntCalc[i] == '8' || tabEntCalc[i] == '9') {
printf("0\n");
//Je veux ajouter un 0 quand il y un chiffre
strcat(outEntCalc, "0");
}
else {
printf("1\n");
//Je veux ajouter un 1 quand il y un chiffre
strcat(outEntCalc, "1");
}
}
printf("Le calcul : %s\n", tabEntCalc);
printf("Le resultat : %d\n", result);
printf("Sortie tabEntCalc : %d\n", outEntCalc);//pour afficher le résultat de strcat
printf("Votre calcul fait %d caracteres\n", strlen(tabEntCalc));
}
Je veux ajouter un 0 quand il y un chiffre et ajouter un 1 quand il y a autre chose.
Le problème c'est que quand je test il me répond ça :
17+13
0
0
1
0
0
Le calcul : 17+13
Le resultat : 0
Sortie tabEntCalc : 6421784 <--------(comme si elle n'était pas initialisée ?)
Votre calcul fait 5 caracteres
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, examine bien ce que tu fais en ligne 35. au besoin, compare avec la ligne 33.