鱼C论坛

 找回密码
 立即注册
查看: 2364|回复: 3

[已解决]小甲鱼投票系统作业题求助

[复制链接]
发表于 2016-2-24 15:27:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<string.h>
  4. struct person
  5. {
  6.     char name[10];
  7.      int qua;
  8. };//声明
  9. struct person p[3]={{"rose",0},{"vivi",0},{"jack",0}};//定义
  10. void selectmost(struct person *p)//这个函数用于选出获得票数最高的人并打印出来
  11. {
  12.     char *n;
  13.     int i,j=0;//j表示最多票数的人所对应的结构体数组中的下标
  14.     int max=p[0].qua;
  15.     for(i=1;i<3;i++)
  16.     {
  17.         if(max<p[i].qua)
  18.           j=i;
  19.     }
  20.      n=&p[j].name;----------------------------------@
  21.      puts(n);
  22. }
  23. void main()
  24. {
  25.     int i;//计数变量
  26.     printf("welcome to people select system\n");
  27.     printf("please vote for rose,vivi,jack\n");
  28.     for(i=0;i<5;i++)
  29.     {
  30.         char c[10];
  31.         printf("第 %d vote for:",i+1);
  32.         printf("\n");
  33.           gets(c);
  34.         if(strcmp(p[0].name,c)==0)
  35.         {
  36.             p[0].qua++;
  37.         }
  38.         if(strcmp(p[1].name,c)==0)
  39.         {
  40.              p[1].qua++;
  41.         }
  42.         if(strcmp(p[2].name,c)==0)
  43.         {
  44.              p[2].qua++;
  45.         }
  46.     }
  47.     for(i=0;i<3;i++)
  48.     {
  49.         printf("票数 of %s is %d\n",p[i].name,p[i].qua);
  50.     }
  51.     selectmost(p);
  52. }
复制代码

我把selectmost这个函数中@(已在文中标出)所在行的代码n=&p[j].name改成*n=p[j].name后程序就不会正确运行出结果,希望好心的朋友能解答一下。
最佳答案
2016-2-24 16:35:43
我没太明白为什么要写成  n=&p[j].name  或者  *n=p[j].name
这两种写法编译器都会报错呀。。。
你不是想输出名字吗,直接写n=p[j].name  不就可以了?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-2-24 16:35:43 | 显示全部楼层    本楼为最佳答案   
我没太明白为什么要写成  n=&p[j].name  或者  *n=p[j].name
这两种写法编译器都会报错呀。。。
你不是想输出名字吗,直接写n=p[j].name  不就可以了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-24 19:31:30 | 显示全部楼层
shuofxz 发表于 2016-2-24 16:35
我没太明白为什么要写成  n=&p[j].name  或者  *n=p[j].name
这两种写法编译器都会报错呀。。。
你不是想 ...

我定义的n是一个字符型指针呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-24 19:35:56 | 显示全部楼层
shuofxz 发表于 2016-2-24 16:35
我没太明白为什么要写成  n=&p[j].name  或者  *n=p[j].name
这两种写法编译器都会报错呀。。。
你不是想 ...

n是我定义的字符型指针呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-22 01:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表