Deux declarations de tableaux de caracteres = probleme - C++ - Programmation
Marsh Posté le 03-12-2002 à 22:35:54
tu n'initialises pas i à 0?
Marsh Posté le 03-12-2002 à 22:44:25
ITM a écrit a écrit : tu n'initialises pas i à 0? |
+1
En gros est avec un peu de chance dans le cas où les tableaux sont initialisés par le compilateur, si tu écris "toto\n" et "turlututu\n" tu vas avoir :
|
Donc lors de l'affichage tu auras :
s1 : "toto"
s2 : "" à cause du premier - (si celui-ci est égal à 0).
Marsh Posté le 03-12-2002 à 23:10:26
Arf merci
Ca m'apprendra a pas initialiser mes variables...
Marsh Posté le 04-12-2002 à 03:58:47
Plus grave: ton compilateur n'émet pas une alerte pour cette erreur ?
Essaie d'augmenter le niveau de warning.
Marsh Posté le 03-12-2002 à 22:07:33
Je suis total debutant en C (1 semaine environ)
Escuser la donc la probable stupidite de ma question...
J'ai un programme ou j'utilise un tableau de caractere s1[]
Je veux ensuite en declarer un deuxieme (s2[]) et hop tout deconne (mon s1[] ne prend plus les caracteres et le s2[] non plus)
Voila le source fonctionnant (et c'est quand je decommente les lignes commentees que ca ne marche plus):
----------------------------------------------------------------
#include <stdio.h>
main()
{
char s1[100];
// char s2[100];
int c, i;
/* Saisie des chaines de caracteres */
while ((c=getchar()) != '\n'
{
s1[i] = c;
++i;
}
printf("saisie1:%s\n",s1);
// while ((c=getchar()) != '\n'
// {
// s2[i] = c;
// ++i;
// }
// printf("saisie2:%s\n",s2);
-----------------------------------------------------------------
Si qq'un a une idee...