weixin_45135245
WYJ开怪
2019-05-27 13:43
采纳率: 77.8%
浏览 984

C语言,结构体数组的引用问题

struct {

char name[20];

int  count; 

}man[]={
{"aaa",0},
{"bbb",0},
{"ccc",0}
},human[10];

int main()
{

int i,j;
for (i=0;i<=2;i++)
{
    printf("第%d位投票,请输入候选人的名字:",i+1);
    scanf("%s",&human[i].name);

    for(j=0;j<=2;j++)
    {

        if("aaa"==human[i].name)
        {
            man[0].count+=1;
        }
    }

}
for(i=0;i<=2;i++)
{
    printf("%s票数为:%d\n",man[i].name,man[i].count);
}

}


为什么man[0].count的值没有自增?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • devilbuqi
    杉杉唯落晖 2019-05-27 13:50
    已采纳

    用strcmp试试???

    点赞 评论
  • caozhy

    if("aaa"==human[i].name)
    ->
    if(strcmp("aaa",human[i].name)==0)

    点赞 评论
  • u012976158
    强化脑细胞 2019-05-27 15:05

    struct {

    char name[20];

    int count;

    }man[]={
    {"aaa",0},
    {"bbb",0},
    {"ccc",0}
    },human[10];

    int main()
    {

    int i,j;
    for (i=0;i<=2;i++)
    {
    printf("第%d位投票,请输入候选人的名字:",i+1);
    scanf("%s",&human[i].name);

    for(j=0;j<=2;j++)
    {
        if(strcmp("aaa",human[i].name)==0)
        {
            man[0].count+=1;
        }
    }
    

    }
    for(i=0;i<=2;i++)
    {
    printf("%s票数为:%d\n",man[i].name,man[i].count);
    }

    }
    改成这样

    点赞 评论

相关推荐