c语言函数指针 指针返回地址

img


先是输入投给谁 输出投票结果
然后这段 比较得票多少 找到得票多的人的地址 返回储存地址

不知道是不是符合题意,下面是我的一个实现,供参考:


#include  <stdio.h>
#define NUM 5  //最多几个被选举的人 
struct person{
    char name[20]; //名字 
    int votes;  //票数 
}; 

//因为winner函数没有使用参数,所以定义一个全局结构数组来传入投票数据给winner函数 
struct person Condidate_Lib[NUM]={{"张三",50},{"李四",42},{"王五",52},{"丁六",36},{"小花",44}    };

char * winner(){
    
    int i,j;
    int maxvotes=0; //最多的投票数,默认为0
    int winner_pos;  //投票最多的下标 

    for(i=0;i<NUM;i++){
            
        if(maxvotes<Condidate_Lib[i].votes){  //如果投票数组里当前位置的投票数大于最多的投票,则更新最多的投票数及投票最多的下标 
            maxvotes=Condidate_Lib[i].votes;
            winner_pos=i;
        }
        
    }
    
    //循环结束,返回投票最多的人的名字 
    return Condidate_Lib[winner_pos].name;      
} 

int main(void){
    
    printf("得票最多的是:%s 。\n",winner()); 
    
    return 0;
    
    
}

img