| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 779 人关注过本帖
标题:菜鸟求教,谢谢!
只看楼主 加入收藏
fighter19
Rank: 1
来 自:广东珠海
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-7-26
结帖率:100%
收藏
 问题点数:0 回复次数:4 
菜鸟求教,谢谢!
struct Date{
    int month;
    int day;
    int year;
};
struct Person{
    char name[20];
    char sex;
    struct Date birthday;
    unsigned long num;        /*身份证号码*/
};
#include <stdio.h>
int main(void)
{
    struct Person p1={"wanglin",'M',12,15,1974,111000222};
    struct Person p2;
    p2.name[6]="wenya";    /*这里如果我需要单独赋值,应该怎样呢?我这里是错误的*/
    p2.sex='W';
    p2.num=111000223;
    p2.birthday=p1.birthday;
    printf("Person1: %s, %c, %d-%d-%d, %lu\n",p1.name,p1.sex,p1.birthday.month,p1.birthday.day,p1.birthday.year,p1.num);
    printf("Person2: %s, %c, %d-%d-%d ,%lu\n",p2.name,p2.sex,p2.birthday.month,p2.birthday.day,p2.birthday.year,p2.num);
    return 0;
}

问题在注释里,谢谢了~
搜索更多相关主题的帖子: struct 
2008-08-25 21:35
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
收藏
得分:0 
p2


在哪里定义的?

  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。
2008-08-25 21:47
china008
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-5-8
收藏
得分:0 
改成用指针吧 char[]   我也没搞懂呢


struct Date{
    int month;
    int day;
    int year;
};
struct Person{
    char* name;
    char sex;
    struct Date birthday;
    unsigned long num;      
};
#include <stdio.h>
int main(void)
{
    struct Person p1={"wanglin",'M',12,15,1974,111000222};
    struct Person p2;
    p2.name = "alibaba";
    p2.sex='W';
    p2.num=111000223;
    p2.birthday=p1.birthday;
    printf("Person1: %s, %c, %d-%d-%d, %lu\n",p1.name,p1.sex,p1.birthday.month,p1.birthday.day,p1.birthday.year,p1.num);
    printf("Person2: %s, %c, %d-%d-%d ,%lu\n",p2.name,p2.sex,p2.birthday.month,p2.birthday.day,p2.birthday.year,p2.num);
   
    return 0;
}

2008-08-25 23:02
china008
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-5-8
收藏
得分:0 
刚试的:

char name[20];

把 p2.name = "alibaba"; 改成   
strcpy(p2.name,"alibaba");  -- 把“alibaba" 复制到p2.name

2008-08-25 23:09
zhf63
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-8-26
收藏
得分:0 
p2.name[6]="wenya";   
p2.name[6]是数组,而数组是不能整体赋值的。具体的办法是1)使用strcpy函数
2)在结构体声明中将name【6】改为char *name。
2008-08-26 16:35
快速回复:菜鸟求教,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027952 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved