struct Date { int Fup; int Fdown; int Bup; int Bdown; int Mblack1; int Mblack2; int Mred1; int Mred2; } date[3]; int i; for(i=0;i<3;i++) { printf("请输入第%d组数据:\n",i+1); printf("Input 前尺上丝:"); scanf("%d",&date[i].Fup); printf("Input 前尺下丝:"); scanf("%d",&date[i].Fdown); printf("Input 后尺上丝:"); scanf("%d",&date[i].Bup); printf("Input 后尺下丝:"); scanf("%d",&date[i].Bdown); printf("Input 黑尺中丝1:"); scanf("%d",&date[i].Mblack1); printf("Input 黑尺中丝2:"); scanf("%d",&date[i].Mblack2); printf("Input 红尺中丝1:"); scanf("%d",&date[i].Mred1); printf("Input 红尺中丝2:"); scanf("%d",&date[i].Mred2); } printf("输入水准数据是:\n"); printf("前尺上丝\t前尺下丝\t后尺上丝\t后尺下丝\t黑前中丝\t黑后中丝\t红前中丝\t红后中丝\n"); for(i=0;i<3;i++) { printf("%4d\t %4d\t %4d\t %4d\t %4d\t %4d\t %4d\t %4d\n", date[i].Fup, date[i].Fdown, date[i].Bup, date[i].Bdown, date[i].Mblack1, date[i].Mblack2, date[i].Mred1, date[i].Mred2); } printf("\n\n\t完成水准测量数据输入!\n\t");}
时间: 2024-04-25 19:25:44 浏览: 85
这段代码是用于输入并存储三组水准测量数据的。定义了一个结构体 Date,其中包含了水准测量的各个参数,如前尺上丝、前尺下丝、后尺上丝、后尺下丝、黑尺中丝1、黑尺中丝2、红尺中丝1、红尺中丝2。
使用 for 循环,输入三组数据,分别对应 date[0]、date[1]、date[2]。每组数据包括前尺上丝、前尺下丝、后尺上丝、后尺下丝、黑尺中丝1、黑尺中丝2、红尺中丝1、红尺中丝2。
最后,使用 printf 输出输入的水准测量数据,包括前尺上丝、前尺下丝、后尺上丝、后尺下丝、黑尺中丝1、黑尺中丝2、红尺中丝1、红尺中丝2。
相关问题
struct A {char a; int b; short c}
在 32 位系统中,`struct A {char a; int b; short c}` 的大小为 8 字节。
这是因为在 32 位系统中,一个字节的对齐方式是按照 4 字节对齐的。结构体中最大的成员变量是 `int`,它需要 4 字节对齐,因此结构体中的偏移量需要是 4 的倍数。而 `char` 和 `short` 变量只需要 1 和 2 字节的空间,分别占用 1 和 2 个字节的空间。因此,编译器在 `char` 和 `short` 变量之间填充了 2 个字节的空间,以保证结构体中的偏移量是 4 的倍数,从而满足对齐要求。因此,`struct A {char a; int b; short c}` 的大小为 8 字节。
typedef struct{int n}PER 中的PER是什么
PER并不是一个变量或者类型,而是一个结构体标记(tag),用于标识这个结构体的名称。
在这个例子中,typedef struct { int n } PER; 定义了一个结构体,其中包含了一个int类型的成员变量n,并且给这个结构体起了一个别名PER。这样以后就可以通过PER来代替struct { int n }这个结构体的名称。
例如,可以这样声明一个PER类型的变量:
```c
PER myper;
```
这个声明语句等价于:
```c
struct { int n } myper;
```
但是使用PER类型可以更加简洁明了。