2013-04-22 43 views
-5

有人能帮助我在打印C中的以下数据,精确格式说明和程序进行打印。格式说明打印下列数据用C

  union 
      { 
          char  c[8]; 
          short  s[4]; 
          long  l[2]; 
          void * vfp[2]; 
      } info; 

当我尝试用printf( “%S \ n” 个,info.c);和printf(“%s \ n”,info.s)。我有一些垃圾值。 另外我需要帮助打印这些指针。 感谢您的支持。

+0

你的问题是使用工会。如果您打算一次有多个活动,您应该使用'struct'。 – 2013-04-22 15:03:54

+0

期望的输出是什么?你有4个不同的相同数据表示。如果这是某种变体,应该有一个指示哪个元素是有效的。 – 2013-04-22 15:05:16

回答

4

您需要了解union的使用语义。您只能读取类型你存储工会的特定对象实例内。而且,您只能在特定时间内在工会中存储一种类型。
因此,无论你存储sc,它不能同时。如果你的意图是存储这两种类型,那么你需要的是一个结构而不是一个工会。所有的