struct data {
    void * data;
    int isfloat;
};
9楼 代码有问题:
在此改正:
其实我的定义有问题。isfloat不应该在联合中。 
struct data{
    int isfloat;
    union {
        int
   idata;
        float fdata;
    };
};
struct data ar[43];
ar[0].idata = 50;
ar[0].isfloat = 0;
ar[1].fdata = 5.3;
ar[1].isfloat = 1;
ar[0].isfloat?printf("%0.2f", ar[0].fdata):printf("%d", ar[0].idata);
ar[1].isfloat?printf("%0.2f", ar[1].fdata):printf("%d", ar[1].idata);
// END
[
 本帖最后由 cosdos 于 2009-10-28 18:28 编辑 ]