C : erreur "stray" lors d'un calcul

tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 - 14 févr. 2006 à 19:08
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 - 15 févr. 2006 à 09:35
Bonjour,
j'ai une erreur de compilation sur une ligne ou j'affecte une valeur a une variable, je vous passe le code, et en suite l'erreur :

#define f(mois, annee) ( (mois) <= 2) ? ((annee)-1) : (annee)
#define g(mois) ((mois) <= 2) ? ((mois)+13) : ((mois)+1)

long long int n;
n = 1461 * f(annee, mois) / 4 + 153 * g(mois) / 5 + jour;

// où mois et jour sont deux variables de types int
//et anne de type long int

voila, et en faite j'ai une erreur avec gcc, voici la fin du message :

erreur : stray '\120' in program

voila tout...

MERCI !

4 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
14 févr. 2006 à 19:37
Essai de rajouter des parenthèses supplémetaires

#define f(mois, annee) ( ( (mois) <= 2) ? ((annee)-1) : (annee) )
#define g(mois) ( ((mois) < = 2) ? ((mois)+13) : ((mois)+1) )
0
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
14 févr. 2006 à 20:25
Je vais éssayer, peut etre que tu a raison, mais en attendant, cntinuer d'apporter des solutions svp car je ne peus pas éssaye maintenant....Merci !
Au faite, j'ai oublié de dire, vu que ça ne marchait pas, j'ai éssayé de remplacer mes directives include par des fonctions, mais ça ne marchait toujours pas....(donc peut etre que la reponse si dessus est fausse....)

Je ne saispas, mais au passage, si on pourrait me détaillé l'erreur << strain '\160' in program >> ce serait sympa....

reMERCI ! BEAUCOUP !

Il était une fois, tralalala.. .
0
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
15 févr. 2006 à 09:00
Donc j'ai put éssayer avec l'ajout des parenthèse comme me l'a suggéré
0
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
15 févr. 2006 à 09:35
Donc j'ai put éssayer avec l'ajout des parenthèse comme me l'a suggéré ymc2003, mais ça ne marche toujours pas...
alors, pour vérifier, j'ai éssayé de faire le calcul sans macro, juste avec des valeurs, et ça ne marche pas! voici le calcul :

//supposons que la date sois le 14/02/2006, je remplace
//f(annee, mois) par 2005, g(mois) par 15, et our par 14, ça donne :

n = 1461 * 2005 / 4 + 153 * 15 / 5 + 14;

Et j'obtiens toujours une erreur (la meme)! donc comment faire alors???
0
Rejoignez-nous