& logique en C

mezzoben Messages postés 43 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 6 août 2010 - 29 juin 2010 à 14:52
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 29 juin 2010 à 15:24
bonjour tout le monde ,
je débute en C et en linux , voila mon bout de code en C qui utilise l'operation & bit à bit mais le probléme qu'il ne marche pas
#include<stdio.h>
#include<stdlib.h>


#define valeur ((unsigned int 1 << 2))
int main (void){





int a;
a=1;
a = a & valeur;
printf("a= %c",a);






return 1;
}
l'erreur c'est un parathése attendu bon le syntaxe est bien elaboré.


merci d'avance

1 réponse

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
29 juin 2010 à 15:24
#define valeur ((unsigned int 1 << 2))

Cette ligne n'a aucun sens, tout simplement.
Lors du remplacement de macro, tu auras:
a = a & ((unsigned int 1 << 2));

Donc oui, forcément c'est une erreur de syntaxe.

Essaie de remplacer par:
#define valeur ((1 << 2))


Mais je ne comprends toujours pas l'intérêt de ton programme.

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0
Rejoignez-nous