使用联合时,如何使用矩阵?

问题描述

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef union Job {
    char name[32];
    float salary;
    int worker_no;
} Job;

int main() {
    Job u;
    printf("Enter name: \n");    scanf("%s",&u.name);
    printf("Enter salary: \n");   scanf("%f",&u.salary);

    printf("displaying \nName :%s \n",u.name); /* ① */
    printf("Salary: %.1f",u.salary);
    return 0;
}

我想通过联合矩阵获得“迈克”的名字 但它没有出来。为什么不出来?当我尝试这段代码时,它出现了一个奇怪的词

解决方法

不是

scanf("%s",&u.name);

这是正确的

scanf("%s",u.name);