请问一下这个哪里有问题呀
#include <stdio.h>#include <stdlib.h>
struct vote
{
char name;
}voter;
int main()
{
int i,sum1=0,sum2=0,sum3=0;
printf("欢迎来到投票系统:\n");
for(i=0;i<10;i++)
{
printf("请第%d为投票人投出神圣的一票:",i+1);
scanf("%s",voter.name);
if((voter.name)=="孙悟空")
{
sum1++;
}
if((voter.name)=="猪八戒")
{
sum2++;
}
if((voter.name)=="唐僧")
{
sum3++;
}
}
printf("\n\n");
printf("孙悟空的票数为:%d\n",sum1);
printf("猪八戒的票数为:%d\n",sum2);
printf("唐僧的票数为:%d\n",sum3);
} 这个输入对应名字后所有人的票数还是为0,不知道是什么情况
if((voter.name)=="孙悟空")
{
sum1++;
}
if((voter.name)=="猪八戒")
{
sum2++;
}
if((voter.name)=="唐僧")
{
sum3++;
}
改为:
#include <string.h>
. . . . . .
if(! strcmp(voter . name , "孙悟空")) sum1 ++ ;
else if(! strcmp(voter . name , "猪八戒")) sum2 ++ ;
else if(! strcmp(voter . name , "唐僧")) sum3 ++ ; jackz007 发表于 2020-11-18 01:41
改为:
嗯嗯,晓得啦,我写的那种其实比较的是字符串的地址,虽然他们内容相同但是起始地址不一样,所以不相等,比较字符串还得用strcmp()
页:
[1]