C-C结构体输出的值不是我输出的值
#include<stdio.h>
struct Date
{
int yr,mo,da;
};
typedef struct Date Date;
struct student
{
long unsigned id;
double grades;
Date dt;
};
typedef struct student student;
int main()
{
int i;
student sa[3];
printf("enter 3 records:n")
for(i=0;i<3;i++);
{
scanf("%Lu%Lf",&sa[i].id,&sa[i].grades);
scanf("%d%d%d",&sa[i].dt.yr,&sa[i].dt.mo,&sa[i].dt.da);
}
for(i=0;i<3;i++)
{
printf("%Lu:%gn",sa[i].id,sa[i].grades);
printf("%d/%d/%dn",sa[i].dt.yr,sa[i].dt.mo,sa[i].dt.da);
}
return 0;
}
如题 我输入的值为1001 78 2006/8/1
1002 89 2007/8/1
1003 98 2008/8/1
输出的值是一大列数字,这是什么原因?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
声明:此问题不回答
原因:看见贴上来大段的代码,我就没有心情看了,更别说是格式不好的。
建议:提问之前先分析好,弄点问题的本质上来
scanf函数参数格式要要跟输入数据格式一致
scanf("%lu %lf ", &sa[i].id, &sa[i].grades);
scanf("%d/%d/%dn",&sa[i].dt.yr,&sa[i].dt.mo,&sa[i].dt.da);