首页 > 电脑

为什么这个不能进入if语句,这两个结构不能相等吗?

更新时间2020-01-20 11:02:06

#include<stdio.h>

struct x

{

char name[8];

};

struct x x[4]={"张三","李四","王五","赵六"};

struct x y[10];

 

int main()

{

int i;

int max;

int a[4]={0,0,0,0};

printf("欢迎进入良好公民评选投票系统: ");

printf("候选人有:张三,李四,王五,赵六 ");

for(i=0;i<=3;i++)

{

printf("第 %d 位投票,请写下支持的候选人的名字:",i+1);

gets(y[i].name);

}

for(i=0;i<=3;i++)

{

if(y[i].name==x[0].name)

{

a[0]++;

}

if(y[i].name==x[1].name)

{

a[1]++;

if(y[i].name==x[2].name)

{

a[2]++;

if(y[i].name==x[3].name)

{

a[3]++;

}


一个简单的基础,C的字串不能用==比较的,因为C的字串就是指针,你用==只能比较它们地址是否相等而不是内容,正确的要用

if(strcmp(y[i].name,x[0].name)==0) //两个串是否相同

注意,要有头文件

#include <string.h>

上一篇:按键精灵求一个能输入多个中文的指令

下一篇:如何修改只狼