pitie aidez moi (débutant en C)

pitie aidez moi (débutant en C) - C++ - Programmation

Marsh Posté le 17-10-2002 à 19:11:46    

bonjour je debute  en C.
j'ai un pb qui me casse les *** depuis quelques heures maintenant.
j'ai déclaré
 
char tampon[8]; pour faire un tableau à 8 elements.
seulement si je fais
printf("tampon[15]" ); pas de probleme pour le compilateur
(gcc linux red hat) ni pour l'executeur...
 
pourkoi bon sang  
 
merci  de m'aider

Reply

Marsh Posté le 17-10-2002 à 19:11:46   

Reply

Marsh Posté le 17-10-2002 à 19:14:57    

poste ton code, j'ai peur de pas comprendre


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:18:40    

un tablooooooooo qui travaille avec les indices ne verifie pas si il est vraiment dans l'interval deja reserve ........
attention car si tu fais un scanf sur le tampon[15] il va ecraser la donnee qui y se trouve et la bonjour les degats..;

Reply

Marsh Posté le 17-10-2002 à 19:20:13    

printf("tampon[15]");


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:22:20    

char ligne[67]="";
char tampo[8]="";
FILE *fi0,*fi1,*fi2,*fi3,*fi4,*fi5,*init;
printf("%c\n",tampo[10]);

Reply

Marsh Posté le 17-10-2002 à 19:24:52    

yayien a écrit a écrit :

char ligne[67]="";
char tampo[8]="";
FILE *fi0,*fi1,*fi2,*fi3,*fi4,*fi5,*init;
printf("%c\n",tampo[10]);




 
explqie nous ce que cette ligne veut dire pour toi?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:26:04    

affiche le caractere contenu dans tampo[10]

Reply

Marsh Posté le 17-10-2002 à 19:26:57    

et celle la?
 
char tampo[8]="";


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:28:37    

declare le tableau
(les "" sont un truc qu'un copain a rajoute pour etre sur qu'il soit vide mais je sais pas exactement si ils doivent etre mis)

Reply

Marsh Posté le 17-10-2002 à 19:29:40    

yayien a écrit a écrit :

declare le tableau
(les "" sont un truc qu'un copain a rajoute pour etre sur qu'il soit vide mais je sais pas exactement si ils doivent
etre mis)




 
et pourquoi tu ecris [8]?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:29:40   

Reply

Marsh Posté le 17-10-2002 à 19:31:08    

parce que je veux une chaine a  8 caracteres  
non ?

Reply

Marsh Posté le 17-10-2002 à 19:31:58    

donc la taille de ton tableau est?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:33:33    

alors ca:
moi je dirais 9 (0-8) mais un copain dit plutot 8

Reply

Marsh Posté le 17-10-2002 à 19:35:58    

8 éléments de 0 à 7
 
donc est ce que tablo[15] existe?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:38:01    

ben non justement
y'a pas d'erreur et ca me renvoie un truc
 
(en fait mon vrai pb c'est que je remplis tampon avec 7 caracteres mais qu'il m'en affiche 25..qd je lui dis printf("%s\n",tampon);)

Reply

Marsh Posté le 17-10-2002 à 19:39:12    

le smiley pas fait expres

Reply

Marsh Posté le 17-10-2002 à 19:40:32    

yayien a écrit a écrit :

ben non justement
y'a pas d'erreur et ca me renvoie un truc
 
(en fait mon vrai pb c'est que je remplis tampon avec 7 caracteres mais qu'il m'en affiche 25..qd je lui dis printf("%s\n",tampon);)




 
une chaine C doit se terminer par un '\0' donc tu fait tablo[7]='\0'
 
tu peux accéder à tab[15] meme si cet espace mémoire ne t'appartient pas, mais ca risque de planter.
 
tu ferais mieux d'acheter un bouqin de C parce qu'en tatonnant comme ça, tu ne comprends rien (tu ne sais deja pas ce que tu fais)
 


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 17-10-2002 à 19:45:05    

merci beaucoup taz pour le conseil technique.

Reply

Marsh Posté le 18-10-2002 à 04:53:12    

C'est ça le C: on a le droit de tirer à la mitrailleuse lourde dans la mémoire.
Faut pas s'attendre à ce que ça marche mieux après.
 
"" ne marche qu'avec des char.
Pour créer les tableaux remplis de 0, ceci est la forme générale:

Code :
  1. char tampo[8]= {}; //{0} sous VC++


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed