adresse d'une variable volatile

Le
Vincent Lefevre
Juste pour être sûr, car ce comportement me semble bizarre
L'adresse d'une variable volatile est censée être constante
(au sens &x == &x), non?

Parce que le programme suivant affiche "1 0" (au lieu du "1 1"
attendu) sous Mac OS X Tiger avec Xcode 2.4.1 (i.e. la dernière
version sous Tiger).

#include <stdio.h>

int main (void)
{
int i = 0;
volatile int j = 0;

printf ("%d %d", &i == &i, &j == &j);
return 0;
}

--
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Marc Bourguet
Le #18447181
Vincent Lefevre
Juste pour être sûr, car ce comportement me semble bizarre...
L'adresse d'une variable volatile est censée être constante
(au sens &x == &x), non?



Parce que le programme suivant affiche "1 0" (au lieu du "1 1"
attendu) sous Mac OS X Tiger avec Xcode 2.4.1 (i.e. la dernière
version sous Tiger).

#include
int main (void)
{
int i = 0;
volatile int j = 0;

printf ("%d %dn", &i == &i, &j == &j);
return 0;
}



Pour moi c'est un bug sans hesitation.

A+

--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Publicité
Poster une réponse
Anonyme