c语言求纠错得到正确结果,困扰一个晚上了

#include<stdio.h>#include<stdlib.h>#include<string.h>structinfo{charname[12];chartime... #include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct info
{
char name[12];
char time[10];
char date[11];
char answer[11];
char lang[5];
char question[5];
char memory[10];
char number[6];
char costtime[10];
char length[7];
};
int judge(struct info* m,struct info* n);
#define FORMAT &p[i].number,&p[i].name,&p[i].question,&p[i].answer,&p[i].memory,&p[i].costtime,&p[i].lang,&p[i].length,&p[i].date,&p[i].time
int main()
{
int t,i=0,j; //j为有多少组数据,通过循环来完成
scanf("%d",&t);
struct info *p=0;
p=(struct info*)malloc(2*t*sizeof(struct info));
while(i<(2*t))
{
scanf("%s%s%s%s%s%s%s%s",FORMAT);
i++;
}
for(i=0;i<(2*t);i=i+2)
{
judge(p+i,p+(i+1));
}
free(p);
p=0;
}
int judge(struct info* m,struct info* n)
{
int k=1;
if(strcmp(m->question,n->question)!=0)k=0;
if(strcmp(m->answer,n->answer)!=0)k=0;
if(strcmp(m->memory,n->memory)!=0)k=0;
if(strcmp(m->costtime,n->costtime)!=0)k=0;
if(strcmp(m->length,n->length)!=0)k=0;
if(strcmp(m->lang,n->lang)!=0)k=0;
if(k==0)printf("%s might have not copied the code of %s.",m->name,n->name);
else printf("%s might have copied the code of %s.",m->name,n->name);

}
求解释
展开
 我来答
joexcz
2012-11-16
知道答主
回答量:27
采纳率:0%
帮助的人:10.3万
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct info
{
char name[12];
char time[10];
char date[11];
char answer[11];
char lang[5];
char question[5];
char memory[10];
char number[6];
char costtime[10];
char length[7];};
judge(struct info* m,struct info* n);
#define FORMAT p[i].number,p[i].name,p[i].question,p[i].answer,p[i].memory,p[i].costtime,p[i].lang,p[i].length,p[i].date,p[i].time
main()
{
int t,i=0,j; //j为有多少组数据,通过循环来完成scanf("%d",&t);
struct info *p;
scanf("%d",&t);
p=(struct info*)malloc(2*t*sizeof(struct info));
while(i<(2*t))
{scanf("%s%s%s%s%s%s%s%s",FORMAT);i++; }
for(i=0;i<(2*t);i=i+2)
{
judge(p+i,p+(i+1));}
free(p);
}
judge(struct info* m,struct info* n)
{
int k=1;
if(strcmp(m->question,n->question)!=0)k=0;
if(strcmp(m->answer,n->answer)!=0)k=0;
if(strcmp(m->memory,n->memory)!=0)k=0;
if(strcmp(m->costtime,n->costtime)!=0)k=0;
if(strcmp(m->length,n->length)!=0)k=0;
if(strcmp(m->lang,n->lang)!=0)k=0;
if(k==0)printf("%s might have not copied the code of %s.\n",m->name,n->name);
else printf("%s might have copied the code of %s.\n",m->name,n->name);
}

楼主试试行不
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a5dde7d
2012-11-16 · 超过21用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:55.4万
展开全部
#define FORMAT &p[i].number,&p[i].name,&p[i].question,&p[i].answer,&p[i].memory,&p[i].costtime,&p[i].lang,&p[i].length,&p[i].date,&p[i].time

每个都去掉 &

scanf("%s%s%s%s%s%s%s%s",FORMAT);

改为10个%s
scanf("%s%s%s%s%s%s%s%s%s%s",FORMAT);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式