高考英语话题作文范文:大家看下这个C程序错在哪啊?!1

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 12:42:16
#include<string.h>
struct stduent
{
char name[20];
int count;
}
leader[3]={"a",0,"b",0,"c",0};
main()
{
int i,j;
char iname[20];
for(i=1;i<=10;i++)
{scanf("%s",iname[i]);
for(j=0;j<3;j++)
if(strcmp(leader[j].name,iname[i]==0)
leader[j].count++;
}
printf("\n");
for(j=0;j<3;j++)
printf("%s:%d\n",leader[l].name,leader.count);
}

你的iname声明成字符数组,即一个字符串,所以scanf时要用scanf("%s",iname),不能用iname[i]。

同样,strcmp时也要用iname,不能用iname[i]。

看不懂你想干什么

leader[3]={"a",0,"b",0,"c",0}
下标是[3]的leader[3]数组只能存放4个数
leader[0],leader[1],leader[2],leader[3],
你超标了~
可以改成leader[5]={"a",0,"b",0,"c",0}

iname[20]是一个字符数组,而输入时scanf("%s",iname[i])却用字符串格式,是错误一
strcmp用法 strcmp( const char *str1, const char *str2 ) 而iname[i]是个字符 错误二
这是主要两错误,还有i,j混搅,括号错误等等