& logique en C

Signaler
Messages postés
43
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
6 août 2010
-
Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
-
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

Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
#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]