C-C结构体输出的值不是我输出的值

发布于 2016-10-18 12:17:12 字数 883 浏览 1221 评论 2

#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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

归属感 2017-04-28 21:25:54

声明:此问题不回答
原因:看见贴上来大段的代码,我就没有心情看了,更别说是格式不好的。
建议:提问之前先分析好,弄点问题的本质上来

甜柠檬 2017-04-17 20:10:40

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);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文