回 帖 发 新 帖 刷新版面

主题:[讨论]一个共用体的问题

这个题目看到过很多次了
   union  dat
   {int a;char b ;double c;
      }data;
有两个说法   A   程序中  data.a=5;printf("%f\n",data.c);输出结果为5.000000
             B   data可以作为函数的实参
书上说共用体变量不能作函数的参数,显然B应该是错的,但我看到的都说A是错的,那B到底是不是错的呢?????????而对于A,我还看过一个题目
   main()
    {union  {unsigned int n;
             unsigned  char c;
              }u1;
        u1.c='A';
      printf("%c\n",u1.n);
     }
    结果它说输出的是  A
谁能给我分析下,我急用呀

回复列表 (共1个回复)

沙发

在turbo c++3.0 中A选项是不给编译的,
公用体的变量名记录公用体的公共地址的起始地址,可以作为参数
可以在tc中试一下

我来回复

您尚未登录,请登录后再回复。点此登录或注册