Tout fonctionne correctement, sauf que l'union imbriquée n'est pas mise à jour. J'utilise le compilateur mingw. J'étais juste en train d'apprendre le codage de C et d'essayer des unions imbriquées et d'autres choses quand ce problème est apparu. S'il vous plaît dites-moi ce qui est l'erreur du code, avec un débogage possible. Je n'ai rien trouvé de mal avec ça.Union imbriquée dans une structure renvoyant une valeur de vidage
sortie:
a: 3
b: 3
l.Un: 8
l.b: 5
union: -536870912
#include<stdio.h>
#include<conio.h>
typedef struct
{
int a;
int b;
} two;
typedef union
{
int c;
float d;
} ad;
typedef struct
{
int a;
int b;
two l;
ad n; /*This is nested union that is not getting updated*/
} one;
void trr(one *p);
int main()
{
one tr={2,3,{4,5},{.d=5.43}};
trr(&tr);
printf("a: %d\nb: %d\nl.a: %d\nl.b: %d\nunion: %d",tr.a,tr.b,tr.l.a,tr.l.b,tr.n.d);
return 0;
}
void trr(one *p)
{
p->a=(*p).a+1;
p->l.a=p->l.a*2;
}
je pense que vous voulez dire% f –
Merci. Merde j'étais si stupide. Il a résolu le problème. Merci :) – user3772838
@SteveCox Oui, merci, maintenant corrigé – simonc