C语言 for语句莫名其妙被跳过,若图中name字符串改成字符(包括后续)则可正常运行

还差得很远z 2019-10-12 09:33:33
#include <stdio.h>

void main()
{
int i, j;
struct candidate
{
char name[10];
int vote;
} a[3] = {
{"aa", 0},
{"bb", 0},
{"cc", 0}
};
for( j=0; j < 8; j++)
{
char s[10];
printf("%d.", j+1);
gets(s);
for( i=0; i < 3; i++)
{
if( s==a[i].name)
{
a[i].vote += 1;
}
}
}
for( i=0; i < 3; i++)
{
printf("%d\n", a[i].vote);
}
}
...全文
49 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2019-10-15
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
//void main()
int main()
{
int i, j;
struct candidate
{
char name[10];
int vote;
} a[3] = {
{"aa", 0},
{"bb", 0},
{"cc", 0}
};
for( j=0; j < 8; j++)
{
char s[10];
printf("%d.", j+1);
gets(s);
for( i=0; i < 3; i++)
{
//if( s==a[i].name)
if( strcmp(s, a[i].name) == 0)
{
a[i].vote += 1;
}
}
}
for( i=0; i < 3; i++)
{
printf("%d\n", a[i].vote);
}
}

供参考~
  • 打赏
  • 举报
回复
#include <string.h> if(s == a[i].name) 换 if(strcmp(s,a[i].name) == 0)
还差得很远z 2019-10-12
  • 打赏
  • 举报
回复
新手求助
还差得很远z 2019-10-12
  • 打赏
  • 举报
回复

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧