程序如下:
#include "stdio.h"
void main()
{
struct score
{
int chi;
int math;
};
struct student
{
int num;
char name;
struct score study;
}a[3],*p;
int i;
for(i=0;i<3;i++)
scanf("%d%s%%d%d",&a[i].num,a[i].name,&a[i].study.chi,&a[i].study.math);
for(p=a;p<a+3;p++)
printf("%-3d%-5s%-4d%-4d\n",(*p).num,(*p).name,(*p).study.chi,(*p).study.math);
}
输入:1 hg 85 95 2 dg 86 54 3 se 56 98
输出结果不对啊。。。。有一些数据可以输出,有一些是乱码。。。请大家帮帮忙。。。谢了。。。
scanf("%d%s%d%d……………
请问多了哪个百分号阿?输出4个数据 不是应该4个百分号吗? 那么输出printf后面是不是也用3个百分号阿?
c语言 结构体输入输出问题。。。
答案:3 悬赏:30
解决时间 2021-02-16 19:55
- 提问者网友:浪女天生ˇ性情薄
- 2021-02-16 08:42
最佳答案
- 二级知识专家网友:绝望伪装
- 2021-02-16 09:28
#include "stdio.h"
void main()
{
struct score
{
int chi;
int math;
};
struct student
{
int num;
char name[10];//这儿应该是数组吧。。
struct score study;
}a[3],*p;
int i;
for(i=0;i<3;i++)
scanf("%d%s%d%d",&a[i].num,a[i].name,&a[i].study.chi,&a[i].study.math);//多了一个“%”号
for(p=a;p<a+3;p++)
printf("%-3d%-5s%-4d%-4d\n",(*p).num,(*p).name,(*p).study.chi,(*p).study.math);
}
void main()
{
struct score
{
int chi;
int math;
};
struct student
{
int num;
char name[10];//这儿应该是数组吧。。
struct score study;
}a[3],*p;
int i;
for(i=0;i<3;i++)
scanf("%d%s%d%d",&a[i].num,a[i].name,&a[i].study.chi,&a[i].study.math);//多了一个“%”号
for(p=a;p<a+3;p++)
printf("%-3d%-5s%-4d%-4d\n",(*p).num,(*p).name,(*p).study.chi,(*p).study.math);
}
全部回答
- 1楼网友:我的任性你不懂
- 2021-02-16 12:16
小心
- 2楼网友:野性且迷人
- 2021-02-16 11:05
哦,是scanf的问题。你这样写:scanf("%s,%s,%d",&a.name[0],&a.sex[0],&a.fenshu);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯