字符串
为什么只会输出b的结果? 把代码贴上来 int main(void){
struct yy
{
char name;
}s;
int i,b=0;
int j=0, l=0, f=0;
printf("侯选人有:景田,李冰冰,范冰冰\n");
for (i = 0; i < 5; i++)
{
printf("第 %d 位投票名字:",i+1);
scanf("%s", s.name);
if (s.name == "景田")
j = j + 1;
else if (s.name == "李冰冰")
l = l + 1;
else if (s.name == "范冰冰")
f = f + 1;
else
b = b + 1;
}
/*printf("\n");
for (i = 0; i < 5; i++)
{
if (s.name == "景田")
j = j + 1;
else if (s.name == "李冰冰")
l = l + 1;
else if (s.name == "范冰冰")
f = f + 1;
else
b = b + 1;
}*/
printf("景田:%d\n", j);
printf("李冰冰:%d\n", l);
printf("范冰冰:%d\n", f);
printf("%d", b);
system("pause");
} “隐士” 发表于 2017-4-14 17:47
int main(void)
{
struct yy
字符串不能这样比较
s.name == "景田" #include <stdio.h>
#include <string.h>
int main(void)
{
struct yy
{
char name;
}s;
int i, b = 0;
int j = 0, l = 0, f = 0;
printf("侯选人有:景田,李冰冰,范冰冰\n");
for(i = 0; i < 5; i++)
{
printf("第 %d 位投票名字:", i + 1);
scanf("%s", s.name);
if(strcmp(s.name, "景田") == 0)
j = j + 1;
else if(strcmp(s.name, "李冰冰") == 0)
l = l + 1;
else if(strcmp(s.name, "范冰冰") == 0)
f = f + 1;
else
b = b + 1;
}
printf("景田:%d\n", j);
printf("李冰冰:%d\n", l);
printf("范冰冰:%d\n", f);
printf("%d", b);
system("pause");
return 0;
} 可以了谢啦 我还不知道字符串不能怎么比较 我还有个问题它在怎么在ASCII码里面比较的? 它们是汉字
页:
[1]