Variables, je comprends rien!

StevenJLMunn Messages postés 36 Date d'inscription jeudi 26 juin 2003 Statut Membre Dernière intervention 11 septembre 2005 - 25 juil. 2004 à 20:05
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 26 juil. 2004 à 00:09
J`ecris avec un clavier americain donc je ne peut pas ecrire avec les acents.

Je fais un prog pour les codes serie (je pense ke tout le monde siat ce ke c). Mais j`ai un probleme avec une variable.
voici une partie du code:

void main(void)
{
char a[6],serial[19] = "AAAA-AAAA-AAAA-6-3";
int i;
for(i=0;i<=3;i++)
{
a[i] = serial[i];
}
for(i=5;i<=8;i++)
{
cout << a[i]
}
}
Le prog m`affiche rien!
J`ai beaucoup simplifie la chose mais il faut que dans la 2eme loop le prog m`afiche a[i].
Merci d`avance.

3 réponses

HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
25 juil. 2004 à 20:15
j'ai rien sous la main pour verifier ce que je te donne mais essaie ça.
void main(void)
{
char a[6],serial[19] = "AAAA-AAAA-AAAA-6-3";
int i;
for(i=0;i<=3;i++)
{
a[i] = serial[i];
}
a[i+1]='\0';//fin de chaine

cout << a

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
25 juil. 2004 à 23:33
Logique que ca ne t'affiche rien...
Regarde les bornes de tes boucles!

Dans ta premiere boucle tu remplies les 4 premiers éléments du tableau "a[6]".
Ensuite dans la seconde boucle tu affiches les éléments a partir du 5ième. C'est pas logique ton truc.

En plus ton prog doit planter! Tu affiches jusqu'au 9ième élément alors que ton tableau ne peut en contenir que 6!

EN gros revoie tes boucles et ca ira mieux.

Shell
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 juil. 2004 à 00:09
Si ne crash pas c'est GRACE au compilo qui a corrige:
char a[6]; ets devenu char[8] comme aurait du etre correctement declare pour garantir un alignement correct sur processeur 32 bits, toujours multiple de 4.
ensuite il y a le 'i' dessous qui fait 4 octets donc va bon, pas plantage mais seulement tout faux.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous