Valeur non attendu dans C
Fermé
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
-
2 janv. 2009 à 22:11
rocksider Messages postés 106 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 16 mars 2012 - 3 janv. 2009 à 00:18
rocksider Messages postés 106 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 16 mars 2012 - 3 janv. 2009 à 00:18
Bonjour,
Donc je travaille dans une matrice en c en lui affectant des valeurs entre 1 et 9, mais apres quand j'affiche la matrice ça me donne des valeurs telle que -32768 ... est ce un probleme du au language c, je doute fort là dessus, au fait j'utilise l'ide turbo C, merci de me rapporté une reponse ...
Donc je travaille dans une matrice en c en lui affectant des valeurs entre 1 et 9, mais apres quand j'affiche la matrice ça me donne des valeurs telle que -32768 ... est ce un probleme du au language c, je doute fort là dessus, au fait j'utilise l'ide turbo C, merci de me rapporté une reponse ...
A voir également:
- Valeur non attendu dans C
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- #Valeur excel somme - Guide
- Liste de valeur excel - Guide
- La valeur relative de 9 dans 295 700 est - Forum Excel
5 réponses
je vous conseille de verifier la syntaxe car lorsque le compilateur ne trouve pas de valeur a affecter au coificient de la matirce ,il va lui afecter une valeur alleatoire telles -3245,-89446
Ce n'est sûrement pas un problème dû au compilateur.
-32768, c'est bizarre, ce n'est pas une valeur au hasard; c'est le minimum d'un entier signé sur 16 bits... il doit y avoir une erreur dans le code, on peut voir (s'il est indenté et pas trop long) ?
-32768, c'est bizarre, ce n'est pas une valeur au hasard; c'est le minimum d'un entier signé sur 16 bits... il doit y avoir une erreur dans le code, on peut voir (s'il est indenté et pas trop long) ?
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
9
2 janv. 2009 à 22:56
2 janv. 2009 à 22:56
Comme a dit loupius, ce n'est pas un nombre aléatoire mais un la plus petite valeur d'un entier codé en 16 bits, j'ai pensé au debut que ce serai -32768 = 1111111111111111 si on fait le complement a deux alors ça nous donne 1, genre à la place du 1 ça me donne la valeur complementé, mais c'est que 1 s'affiche dans le tableau, donc c'est pas ça je pense
j'avais esseyé de faire un unsigned pour la matrice et je me rapelle plus ce que ça donne, mais si ma mémoire est bonne c'était 32768, le programme est trop long :( trop meme,
j'avais esseyé de faire un unsigned pour la matrice et je me rapelle plus ce que ça donne, mais si ma mémoire est bonne c'était 32768, le programme est trop long :( trop meme,
lina_sp611
Messages postés
4
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
3 janvier 2009
2 janv. 2009 à 23:38
2 janv. 2009 à 23:38
salut
se nombre négatif est dû parseque tu n'as pas initialiser ta matrice
ta affecter directement les valeurs
ce qui ne fonctionne pas en C
il faut d'abord initialiser tes variables à 0 par example ensuite lance ta boucle pour l'affectation des valeurs
se nombre négatif est dû parseque tu n'as pas initialiser ta matrice
ta affecter directement les valeurs
ce qui ne fonctionne pas en C
il faut d'abord initialiser tes variables à 0 par example ensuite lance ta boucle pour l'affectation des valeurs
Il est certain qu'il faut initialiser la matrice:
- initialiser au sens 'instanciation' ou 'allocation mémoire' suivant le type de matrice.
- initialiser au sens de valeur contenue. Il est certain que si ce n'est pas fait on trouvera n'importe quoi car le 'C' n'initialise pas par défaut; par contre la nécessité d'initialiser à 0 avant d'affecter une autre valeur, n'est absolument pas indispensable.
- initialiser au sens 'instanciation' ou 'allocation mémoire' suivant le type de matrice.
- initialiser au sens de valeur contenue. Il est certain que si ce n'est pas fait on trouvera n'importe quoi car le 'C' n'initialise pas par défaut; par contre la nécessité d'initialiser à 0 avant d'affecter une autre valeur, n'est absolument pas indispensable.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
9
3 janv. 2009 à 00:18
3 janv. 2009 à 00:18
merci deja pour vos reponse, mais j'ai dejà initialisé la matrice en 0 pour apres pouvoir changer leurs valeurs, je vais compiler avec un autre compilateur pour voir ce que ça donne ..