小编ec1*_*ec1的帖子

使用if语句输出并集

嘿,我在此C代码上有一个作业问题:

#include<stdio.h>

typedef union{
    char var1;
    int var2;
    float var3;
}data;

int main()
{
    data mydata;

    mydata.var1 = 'B';
    mydata.var2 = 12;

    if(mydata.var1 == 'B')
        mydata.var3 = 3.5;
    else
        mydata.var3 = 7.1;

    printf("%.1f", mydata.var3);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是7.1,我想知道是否有人可以解释为什么输出是7.1而不是3.5。

为您的帮助加油。

c union if-statement

1
推荐指数
1
解决办法
90
查看次数

标签 统计

c ×1

if-statement ×1

union ×1