以下程序有若干语法错误,不能正确输出成员a和成员v的值。请找出错误并改正之。 union { int a; struct { int u; float v; }b; } main() { union uu m; m.a=200; m.u=500; m.v=120.5; printf(“%d\t%f\n”,m.a,m.b.v); }
时间: 2023-06-05 19:48:00 浏览: 262
以下是已经改正后的程序:
#include <stdio.h>
union uu {
int a;
struct {
int u;
float v;
} b;
};
int main() {
union uu m;
m.a = 200;
m.b.u = 500;
m.b.v = 120.5;
printf("%d\t%f\n", m.a, m.b.v);
return 0;
}
改正的错误:
1. 缺少结构体和联合体的名称 uu。
2. 结构体中的成员 u 和 v 没有通过结构体变量 b 访问。
3. printf 函数中的双引号使用了中文引号,应该使用英文引号。
相关问题
以下程序有若干语法错误。找出并改正之。 union { int a; Struct { int u; float v; }b; } main() { union uu m; m.a=200; m.u=500; m.v=120.5; printf(“%d\t%f\n”,m.a,m.b.v); }
以下是修改后的程序:
```
#include <stdio.h>
union uu {
int a;
struct {
int u;
float v;
} b;
};
int main() {
union uu m;
m.a = 200;
m.b.u = 500;
m.b.v = 120.5;
printf("%d\t%f\n", m.a, m.b.v);
return 0;
}
```
修改说明:
1. 结构体定义中的关键字 "Struct" 应该为 "struct"。
2. 结构体定义中的成员变量 "u" 和 "v" 应该放在同一行,或者都换行。
3. 主函数中应该声明返回值类型为 int。
4. 主函数中应该加上 return 0。
阅读全文