以下程序有若干语法错误。找出并改正之。 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); }
时间: 2024-01-31 13:04:17 浏览: 39
第9章 指针-课堂研讨案例9-1-寻找语法错误、改正程序.c
以下是改正后的程序:
```
#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. 结构体定义中缺少结构体名,应该使用 struct 关键字加上结构体名;
3. 在 main 函数中,应该使用 union uu 来声明变量 m;
4. 在给变量 m 赋值时应使用 m.b.u 和 m.b.v 来访问结构体成员,而不是 m.u 和 m.v;
5. printf 中应使用 %f 来输出浮点数。
阅读全文