格式说明符在C中打印以下数据

时间:2013-04-22 15:02:20

标签: 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)。我有一些垃圾值。 我也需要帮助打印这些指针。 感谢您的支持。

2 个答案:

答案 0 :(得分:4)

您需要了解 union 的使用语义。您只能读取存储在union的特定对象实例中的类型。并且您只能在特定实例的时间内将一种类型存储在一个联合中 因此,无论您存储了s还是c,它都不能同时存储。如果您打算存储两种类型,那么您需要的是结构而不是联合。

答案 1 :(得分:1)

首先,你是using a union。内存在这4个阵列之间共享。我不确定你想要那个。

其次,format specifiers is here列表。 %s用于字符串。 %p用于指针,%ld可用于签名长。