CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Probleme Printf Scanf

DarkParadises
DarkParadises
Niveau 7
10 octobre 2015 à 21:17:48

Bonjour ,
Je suis débutant en c et j'essaye de faire afficher le pointeur d'un scanf provenant d'une structure .
Je vous montre mon code :
void maFonction(int *p) { do scanf_s("%d", p); while (p >= 2 && p <= 10); } int main() { int maVariable = 1; maFonction(&maVariable); printf("%p",*maFonction); system("pause"); }

Et quand je tape :
maFonction 4
j'ai :
00A911B8A

Message édité le 10 octobre 2015 à 21:18:12 par DarkParadises
godrik
godrik
Niveau 30
10 octobre 2015 à 21:30:11

Je ne comprends pas ce que tu veux faire, mais clairement ce code ne fait pas ce que tu veux faire.
1/ La condition dans ton while regarde la valeur de p, soit une addresse. Clairement les addresse ne sont pas entre 2 et 10. Donc la condition est toujours fausse.
2/ tu affiche l'adresse de la fonction dans ton printf, donc ce truc la ca peut etre n'importe quoi et la valeure que tu montre n'est pas vraiment etonante.

89ron
89ron
Niveau 10
10 octobre 2015 à 21:47:08

Pourrais-tu être un peu plus précis sur ce tu entends par afficher le pointeur d'un scanf provenant d'une structure. Qu'elle structure ?

Parce-que scanf ne sert pas vraiment a ça.

DarkParadises
DarkParadises
Niveau 7
10 octobre 2015 à 22:59:38

void a(int *p)
{
*p = 5;
}

int main()
{
int z = 1;
a(&z);
printf("%d", z);

system("pause");
}
On tombe sur 5

Voila je veux cette affichage mais a la place de *p = 5 je veux le remplacer par un scanf et rajouter une boucle do while

Mais je sais pas du tout si on peux scanf un pointeur

89ron
89ron
Niveau 10
11 octobre 2015 à 13:33:37

void a(int *p)
{
	do
	{
		printf("Entree un chiffre entre 1 et 10 : ");
		scanf_s("%d", p);
	} while (*p < 1 || *p > 10);
}

int main()
{
	int z = 1;
	a(&z);
	printf(" z vaut : %d", z);
}

Cela devrait marcher, maintenant.

Message édité le 11 octobre 2015 à 13:36:23 par 89ron
DarkParadises
DarkParadises
Niveau 7
11 octobre 2015 à 17:28:07

Le 11 octobre 2015 à 13:33:37 89ron a écrit :
void a(int *p) { do { printf("Entree un chiffre entre 1 et 10 : "); scanf_s("%d", p); } while (*p < 1 || *p > 10); } int main() { int z = 1; a(&z); printf(" z vaut : %d", z); }

Cela devrait marcher, maintenant.

Ah Merci sa marche parfaitement

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment