affichage des strings en gcc
Bonjour
Je commence la programmation sous linux (mais déjà expert sous windows 8-) ).. mais le probleme c'est que mes codes sources écrites en dev-c++ ne sont pas compliés par la commande gcc. (le compilateur semble détecter des erreurs que je ne rencontrais pas sous windows.
Et l'une des principales erreurs c'est l'affichage des variables de type char.
soit deux exemples.
-1- printf("votre nom est %s", nom);
-2- printf("vous avez entré la lettre %c", lettre);
Ainsi, meme quand j'arrive à obtenir le fichier executable a.out (et encore !!!)
en le lançant: S'il s'agit du premier exemple, la variable est lu, mais pour l'affichage, il m'envoie une sympatique message d'erreur.
Et dans le deuxieme cas, le programme se termine sans meme qu'on m'invite à entrez mon caractère.
:?
Merci
Programmation en général ...
Et programmation et en C en particulier.
Regle de base definie par moi meme :
Ne jamais utiliser de methodes nouvelles si elle n'apporte rien de significatif
Donc si une version de compilateur permet des déclaration n'importe ou ( ce qui ne corresponds pas au C d'origine ) ne l'utilisez pas.
a) Cela nuit a la lisibilité du code
b) La portabilité est limitée
Le C ne permet que des declaration a un seul niveau au contraire du Pascal qui permet d'integrer tout un programme a l'interieur d'une fonction definissant ainsi des bloc esthetiques.
De meme lors de la compilation si des prototypes de fonction peuvent etre definit en amont du programme c'etait pour pouvoir compiler une fonction A appelant une fonction B qui elle meme appelle A. Mais formellement , de respecter un certain ordre ds le code ( meme si avec la masse de code inclu par les compilateurs l'ordre n'est pas respecté).
A titre d'exemple ... Il ne viendrait a personne l'idee de faire des includes apres le main() {... }
Include...
GCC est le compilateur natif Linux, quand tu parles de dev cpp c'est davantage il englobe aussi les notions evenementielle ( la partie discution avec l'interface graphique de Windows )
Note que DEV CPP est un tres bon outil mais si permet de faire de choses pas terribles ... on est pas obligé de les utiliser.
Note que Dev CPP m'a permi de virer Borland C que j'utilisais de facon illegale
Son equivalent sous Linux est le couple QT-KDEVELOP ( et d'autres ... GTK je crois).
QT c'est le C++ avec des myriades d'objets , il est enorme et pas facile à aborder.
Je compile des prog desormais sous QT-KDE
Mais je me sers principalement de QT pour me fournir de jolies fenetres de jolis boutons... A travers QTdesigner ... J'integre le minimum de code dans le designer.
Dans les programmes eux meme , je n'utilise a 99 % que du C standard
Les includes je les mets tout en haut .
Je definis des variable globales (le moins possible).
En essayant de mettre les fonctions generales en debut de code, celles reutilisables dans d'autre programme.
Ensuite les fonction, generales liees au programme.
Ensuite par bloc, les fonctions de chaque fenetre
Enfin main precede de certaines fonctions ...
Dernier truc , 1 ligne = 1 instruction ...
Les programmes de type if (a=f(g(x++)==&t(z(u-1))
C'est le nid a embrouille assuré... Ca n'amuse que le type qui ecrit ..
Et ca se saurait si l'interpretation de 10 instruction successives au lieu d'une contenant 8 instruction penalisait la performance d'un programme sur une machine pouvant calculer des dizaines de multiplication reelles par seconde
Je disais ca pour la déclaration de structure ...
Declare sa forme, puis declare les variables corresondant c'est qd meme formellement plus cool.
Y'a 12 ans ,J'ai fait un programme de 80 000 ligne en C sous windows.
... Peut etre qu'on pourrait y trouver encore 2 bugs.
Si il y avait peu de bugs ...
C'est parce que je respecte les principes cites plus haut
Voici mon site ... Tu pourras y trouver qq exemples
http://the-gaillard.site.voila.fr/
Bonne chance