2013-04-22 42 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,它不能同時。如果你的意圖是存儲這兩種類型,那麼你需要的是一個結構而不是一個工會。所有的