qui peut dire ce qui cloche dans mon mini prog ?? [ RESOLU ] - C - Programmation
Marsh Posté le 21-04-2005 à 00:15:38
active les warnings, et regarde tes deux premieres lignes.
Marsh Posté le 21-04-2005 à 00:23:16
je vais ou avec visual c++ 6.0 pr activer les warning?
g 0 error et 0 warning
alors que faire??
Marsh Posté le 21-04-2005 à 00:37:01
oula, en plus court :
#include <stdio.h>
#include <stdbool.h> // bool C99
ton while dans fonction s'emballe ...
ton for dans fonction va un coup trop loin.
et pitié int main por favor
Marsh Posté le 21-04-2005 à 00:44:44
oui enfin bon..
tout ce qui manquait pour que mon prog tourne était ETOILE
devant nb dans la boucle while
MERCI QD MEME
Marsh Posté le 21-04-2005 à 09:22:54
fullnight a écrit : oui enfin bon.. |
Non, ça ne suffit pas.
|
Marsh Posté le 21-04-2005 à 21:21:17
même si elle va trop loin
il suffit de mettre l'étoile pour que le programme fonctionne..c tout ski manquait.
pour le formateur d'un short oui c hd, bizarrement g oublié de le remettre.
j'avais fait des modifs avec un int puis g remis en short mais j'ai pas rechangé partout ce qu'il fallait pour correspondre !
pq un short et pas un int? bein paske la taille d'un int est variable selon le compilo et mon prof préfere qu'on employe un short comme ca on sait directement combien de bytes on manipule(meme si un sizeof aura vite fait de nous dire de combien de bytes retourne le int...)
soit !!
"le type pour "%p" est (void*) (cast obligatoire) "
je sais absolument pas de quoi tu parles.
g déclaré p en tant ke pointeur sur short
Marsh Posté le 21-04-2005 à 21:58:19
Citation : il suffit de mettre l'étoile pour que le programme fonctionne..c tout ski manquait. |
Emmanuel va apprécier ...
il faut voir le fait que la taille d'un int varie selon l'implémentation comme un avantage pour la performance.
Citation : mon prof préfere qu'on employe un short |
au lieu de vous inciter au tourisme, ton prof ferait mieux de se poser cette question existencielle : sizeof(short) = ???
Marsh Posté le 21-04-2005 à 22:26:26
fullnight a écrit : même si elle va trop loin |
Si ça va trop loin, le comportement est indéfini, c'est tout.
Citation : |
Il ne suffit pas qu'un programme ait l'air de fonctionner pour qu'il soit correct.
Citation : |
Mauvais prof, changer de prof. Seule la taille minimale des types sont définis par le langage C. Le type short n'echappe pas à cette regle. J'ai déjà vu des short de 32 bits (DSP Motorola 56156).
En fait, les types sont définis par des plages de valeurs, dont les limites pour ton compilateur se trouvent dans ... <limits.h>.
Citation :
|
doit être modfié en:
printf("%p\n",(void *) p); |
pour être conforme.
Marsh Posté le 21-04-2005 à 23:02:58
pour mon prof un short vaut 2 bytes
et cette histoire de printf("%p\n",(void *) p);
me laisse perplexe !
je ne comprend pas du tout cette conformité
jamais mon prof n'a parlé de ca.
selon le prof le printf a besoin d'une adresse .
je pige pas pq il faut changer le type du pointeur en void * pour l'afficher
ca marche bien sans :|
on en apprend ici merci les pros
Marsh Posté le 21-04-2005 à 23:16:58
fullnight a écrit : pour mon prof un short vaut 2 bytes |
C'est possible, mais c'est pas garanti. Le C dit 16 bit minimum. Point (et encore ce n'est pas exprimé comme ça, mais en plage de valeurs : -32767..32767)
Citation : |
Bah, il ne connait pas la norme. Normal, il ne bosse pas dans l'industrie...
Citation : selon le prof le printf a besoin d'une adresse . |
Exact.
Citation : je pige pas pq il faut changer le type du pointeur en void * pour l'afficher |
C'est exigé par la norme.
Citation : ca marche bien sans :| |
Ca ne prouve rien. "Ca marche bien" != "c'est conforme".
Citation : on en apprend ici |
On est là pour ça...
Marsh Posté le 21-04-2005 à 00:11:14
qui sait me dire pq rien ne s'affiche ??
Message édité par fullnight le 21-04-2005 à 00:46:50