ft1996 发表于 2015-7-21 15:41:59

union带char类型就出错

#include<stdio.h>

int main(void)
{
      union
      {
                char name;
                char name1;
                int a;
      }e;

      e.name = 'f';
      e.a = 20;

      printf("\na=%d,name=%s\n",e.a,e.name);

      return 0;
}
这个是哪里出错了

小人 发表于 2015-7-21 15:46:13

共用体不是这样用的{:9_240:}

ft1996 发表于 2015-7-21 16:08:46

小人 发表于 2015-7-21 15:46
共用体不是这样用的

#include<stdio.h>

int main(void)
{
      union
      {
                char name;
      }e;

      e.name = 'f';

      printf("\nname=%s\n",e.name);

      return 0;
}

为啥不能给name赋值:cry

小人 发表于 2015-7-21 20:38:52

ft1996 发表于 2015-7-21 16:08
为啥不能给name赋值

         union
      {
                char name;
      }e;

      e.name = 'f';

      printf("\nname=%c\n",e.name);
char 应该用%c 不然运行可能会出错

ft1996 发表于 2015-7-21 23:02:03

小人 发表于 2015-7-21 20:38
char 应该用%c 不然运行可能会出错

谢谢
页: [1]
查看完整版本: union带char类型就出错