A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jazzforlove 中级黑马   /  2015-10-29 00:09  /  1586 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*用结构体定义一个三口之家,家里每个成员都有:姓名,年龄,身份(如父亲),打印这个三口之家的所有成员的信息*/
#include <stdio.h>
int main(){
    struct Person{
        char *name;
        int age;
        char *status;
    };
    struct Person f={"成龙",60,"父亲"};
    struct Person m={"林凤娇",55,"母亲"};
    struct Person s={"房祖名",30,"儿子"};
    struct Person pers[3]={f,m,s};
    for (int i=0; i<3; i++) {
        struct Person *p=pers+i;
        printf("name=%s,age=%d,status=%s\n",(*p).name,(*p).age,(*p).status);
    }
    return 0;
}

1 个回复

正序浏览
可以这样简化

#include <stdio.h>
int main(){
typedef   struct{
        char *name;
        int age;
        char *status;
    }Person;
    Person f={"成龙",60,"父亲"};
    Person m={"林凤娇",55,"母亲"};
    Person s={"房祖名",30,"儿子"};
    Person pers[3]={f,m,s};
    for (int i=0; i<3; i++) {
        struct Person *p=pers+i;
        printf("name=%s,age=%d,status=%s\n",(*p).name,(*p).age,(*p).status);
    }
    return 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马