c语音结构体数组做函数参数问题

 

代码如下:如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <string.h>
typedef struct candidate
{
	char name[20];
	int count;
}CANDIDATE;

int Election(CANDIDATE can[],int n,int elector)
{
	int i,j;
	int feipiao = 0;
	char name[20] = {0};

	//初始化投票人数,避免出现未初始化的情况
	for (i = 0;i < n; i++)
	{
		can[i].count = 0;
	}

	//投票
	for (i = 0;i < elector; i++)
	{
		printf("请投票人%d投票:",i+1);
		scanf("%s",name);
		for (j = 0; j < n;j++)
		{
			if(strcmp(can[j].name,name)==0)
			{
				can[j].count += 1;
				break;
			}
		}
		if(j == n)
			feipiao +=1;
	}
	return feipiao;
}

int main()
{
	int fp = 0;
	int i = 0;
	CANDIDATE can[3];

	strcpy(can[0].name , "li");
	strcpy(can[1].name , "zhang");
	strcpy(can[2].name , "wang");
	fp = Election(can,3,10);
	printf("废票数:%d\n",fp);
	for (;i<3;i++)
	{
		printf("%s\t%d\n",can[i].name,can[i].count);
	}
	return 0;
}