以下程序中函数fun的功能是统计person所指结构数组中所有性别(sex) 为M的记录的个数,并作为函数值返回,请填空。 #define N 3 typedef struct { int num;char nam [10];char sex;} SS; int fun (SS person [] ) { int i,n=0; for(i=0;i<N;i++) {if( 输入答案 =='M') n++;} return n;} int main (void) { SS W[N] ={{1,"AA",'F'},{2,"BB",'M’},{3,"CC",'M’}}; int n; n=fun (W); printf ("n=%d\n",n); }
时间: 2024-02-14 17:26:40 浏览: 149
函数fun的功能是将不带头结点的单向链表逆置
5星 · 资源好评率100%
正确答案如下:
```c
#define N 3
typedef struct {
int num;
char nam[10];
char sex;
} SS;
int fun(SS person[]) {
int i, n = 0;
for(i = 0; i < N; i++) {
if(person[i].sex == 'M') {
n++;
}
}
return n;
}
int main(void) {
SS W[N] = {{1, "AA", 'F'}, {2, "BB", 'M'}, {3, "CC", 'M'}};
int n;
n = fun(W);
printf("n=%d\n", n);
}
```
在这个程序中,函数 `fun` 的功能是统计结构体数组 `person` 中所有性别为 `'M'` 的记录个数,并将其作为函数的返回值。在 `fun` 函数中,使用循环遍历结构体数组的每个元素,如果性别为 `'M'`,则计数器 `n` 自增。最后,返回计数器的值。
在 `main` 函数中,定义了一个结构体数组 `W`,并初始化其中的元素。然后调用函数 `fun`,将结构体数组传递给函数,并将返回值赋给变量 `n`。最后,打印输出变量 `n` 的值。
输出结果为:
```
n=2
```
即结构体数组中有两个性别为 `'M'` 的记录。
希望能够解答你的问题!如果还有其他疑问,请随时提问。
阅读全文