帮小弟看下我刚学C语言

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:43:26
struct str
{
int num[5];
char name[20];
int phone[10];

}boy[2]={
{101, "zhangsan", 123},
{102, "lisi", 1234},

};
main()
{
struct str *p;
for(p=boy;p<boy+2;p++)
printf("%d,%s,%d",p->num,p->name,p->phone);

}
哪错了看不出来,请帮指点下
,

把int num[5];
int phone[10];
该成
int num;
int phone;
就OK了
测试通过,num和phone没必要用数组

结构体中有三个域,都是数组
但在初始化的时候,只有第二个域格式正确,其他两个在用整数对数组赋值

也许能编译通过,但结果不可预料啊

你的本意是否是
int num;
int phone;

boy[2]={
{101, "zhangsan", 123},
{102, "lisi", 1234},

};

是不是第二个逗号不要

为什么num,phone要用数组呢?
printf里面是%d呀
改一下吧