“隐士” 发表于 2017-4-14 17:19:26

字符串

为什么只会输出b的结果?

人造人 发表于 2017-4-14 17:23:38

把代码贴上来

“隐士” 发表于 2017-4-14 17:47:09

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:58:11

“隐士” 发表于 2017-4-14 17:47
int main(void)
{
        struct yy


字符串不能这样比较
s.name == "景田"

人造人 发表于 2017-4-14 18:00:39

#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;
}

“隐士” 发表于 2017-4-14 19:24:11

可以了谢啦   我还不知道字符串不能怎么比较

“隐士” 发表于 2017-4-14 20:47:01

我还有个问题它在怎么在ASCII码里面比较的?      它们是汉字
页: [1]
查看完整版本: 字符串