若有下列定义,则以下不合法的表达式是()。struct student{int num; int age;}stu[3] = {{101,20}, {102, 19}, {103, 20}}, *p = stu;
A. (p++)->num
B. p++
C. (*p).num
D. p = &stu.age
查看答案
已有定义和赋值语句“struct { int day; char mouth; int year;”} a, *b = &a;",可用a.day引用结构成员day。请写出通过b引用结构成员a.day的其他两种形式()、()。
若已有结构定义“struct DATE{ int year; int mouth; int day; } ;”,请写出一条语句,该语句定义d为上述结构类型变量,并同时为其成员year, mouth, day依次赋初值2009、10、1:()。
以下程序中函数fun的功能是统计person所指结构数组中所有性别(sex)为M的记录的个数,并作为函数值返回,请填空。#defin N 3typedef struct { int num; char name[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);}
下列程序的功能是输入5个联系人信息,统计年龄分布情况,请填空。struct address{char street[20];int code;int zip; } ;struct nest_friendslist {char name[10];int age;char teltphone[13];struct address addr; } f;int main(void){int i, count1, count2, count3;count1 = count2 = count3 = 0;for(i = 1; i <= 5; i++ ){scanf("%s%d%s", f.name, &f.age, f.teltphone);(); /* 输入地址信息*/if(f.age >= 55) count1++;else if(f.age >= 40) count2++;else count3++; }printf("老年人数:%d, 中年人数:%d, 青年人数:%d\n", count1, count2, count3);return 0;}