使用联合打印字符串时出现运行时错误。它不打印字符串值但打印整数值
Runtime error when printing string using union. It doesn't print string value but does print integer value
打印语句the output I get
for(i = 0; i<n; i++) //printing
{printf("Name: %s\nAddress: %s\nOccupation: %s\nAge: %d", p[i].name, p[i].add, p[i].occ, p[i].age);}
如果 p[i]
是一个联盟,那么它只能容纳 一个 成员。但是,在您的打印中:
printf("Name: %s\nAddress: %s\nOccupation: %s\nAge: %d", p[i].name, p[i].add, p[i].occ, p[i].age);
您似乎认为它包含 所有 的值。为此,您不需要 union
而是 struct
.
打印语句the output I get
for(i = 0; i<n; i++) //printing
{printf("Name: %s\nAddress: %s\nOccupation: %s\nAge: %d", p[i].name, p[i].add, p[i].occ, p[i].age);}
如果 p[i]
是一个联盟,那么它只能容纳 一个 成员。但是,在您的打印中:
printf("Name: %s\nAddress: %s\nOccupation: %s\nAge: %d", p[i].name, p[i].add, p[i].occ, p[i].age);
您似乎认为它包含 所有 的值。为此,您不需要 union
而是 struct
.