fork download
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. union {
  6. unsigned x;
  7. struct {
  8. unsigned a:1;
  9. unsigned b:1;
  10. unsigned c:1;
  11. unsigned d:1;
  12. };
  13. } u;
  14. union {
  15. unsigned xx;
  16. struct {
  17. unsigned aa:1;
  18. unsigned bb:1;
  19. unsigned cc:1;
  20. unsigned dd:1;
  21. };
  22. } uu;
  23. unsigned FLAG;
  24.  
  25. u.a = u.b = u.c = u.d = 0;
  26. uu.aa = uu.bb = uu.cc = uu.dd = 0;
  27.  
  28. FLAG = ~u.x & uu.xx;
  29. printf("%#x\n", FLAG);
  30.  
  31. uu.dd = 1;
  32. FLAG = ~u.x & uu.xx;
  33. printf("%#x\n", FLAG);
  34.  
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0.01s 1676KB
stdin
Standard input is empty
stdout
0
0x8