鱼C论坛

 找回密码
 立即注册
查看: 1477|回复: 6

[已解决]字符串

[复制链接]
发表于 2017-4-14 17:19:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么只会输出b的结果?
最佳答案
2017-4-14 18:00:39
#include <stdio.h>
#include <string.h>

int main(void)
{
        struct yy
        {
                char name[10];
        }s[5];
        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[i].name);
                
                

                if(strcmp(s[i].name, "景田") == 0)
                        j = j + 1;
                else if(strcmp(s[i].name, "李冰冰") == 0)
                        l = l + 1;
                else if(strcmp(s[i].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;
}
7_DZSM)6UOM_FHBY2OEPW@K.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-14 17:23:38 | 显示全部楼层
把代码贴上来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-14 17:47:09 | 显示全部楼层
int main(void)
{
        struct yy
        {
                char name[10];
        }s[5];
        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[i].name);
                if (s[i].name == "景田")
                        j = j + 1;
                else if (s[i].name == "李冰冰")
                        l = l + 1;
                else if (s[i].name == "范冰冰")
                        f = f + 1;
                else
                        b = b + 1;
        }
        /*printf("\n");
        for (i = 0; i < 5; i++)
        {
                if (s[i].name == "景田")
                        j = j + 1;
                else if (s[i].name == "李冰冰")
                        l = l + 1;
                else if (s[i].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");

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 17:58:11 | 显示全部楼层
“隐士” 发表于 2017-4-14 17:47
int main(void)
{
        struct yy

字符串不能这样比较
s[i].name == "景田"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 18:00:39 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
#include <string.h>

int main(void)
{
        struct yy
        {
                char name[10];
        }s[5];
        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[i].name);
                
                

                if(strcmp(s[i].name, "景田") == 0)
                        j = j + 1;
                else if(strcmp(s[i].name, "李冰冰") == 0)
                        l = l + 1;
                else if(strcmp(s[i].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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-14 19:24:11 | 显示全部楼层
可以了  谢啦   我还不知道字符串不能怎么比较
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-14 20:47:01 | 显示全部楼层
我还有个问题  它在怎么在ASCII码里面比较的?      它们是汉字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 02:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表