C语言问题,新手,请大神指导一下!关于数组

主要想实现用户输入的词语是不是数组里的,不是就重新输入,求大神看下,哪里不对,代码如下:#include<string.h>intmain(){inti;charname... 主要想实现用户输入的词语是不是数组里的,不是就重新输入,求大神看下,哪里不对,
代码如下:
#include <string.h>
int main()
{
int i;
char names[5][20] = {"唧唧","渣渣","哦哦","呵呵","哈哈"};
char tempnames[20];
for(; ;)
{
printf("请输入:\n");
scanf("%s",tempnames);
if(strcmp(tempnames,names[i]) == 0)
{
printf("选择的是%s",tempnames);
}
else
{
printf("在数组未找到该词语!\n");
}
}
return 0;
}
展开
 我来答
jesry_wu
2017-05-15 · TA获得超过942个赞
知道小有建树答主
回答量:793
采纳率:72%
帮助的人:209万
展开全部

for循环没有条件,程序死循环了

i是个未初始化的变量,不可以这样用,要先初始化

比较字符串,不是光比较1个,要5个都比较,

我帮你把程序改改啊

int main()
{
    int i , a ;
    char names[5][20] = {"唧唧","渣渣","哦哦","呵呵","哈哈"};
    char tempnames[20];
    while(1)
    {
        printf("请输入:\n");
        scanf("%s",tempnames);
        if( strcmp(tempnames,"exit") == 0 )
            break ;
        a = 0 ;    
        for( i = 0 ; i < 5 ; i ++ )
        {
            if(strcmp(tempnames,names[i]) == 0)
            {    
                a = 1 ;
                break ;
            }
        }
    
        if( a )
            printf("选择的是%s",tempnames);
        else
            printf("在数组未找到该词语!\n");
    }
    return 0;
}




追问
非常感谢,不过因为是新手,有些地方不太懂,像是a的作用,还有if(a)是什么意思,可以麻烦解释一下吗
bhd119
2017-05-15 · TA获得超过246个赞
知道小有建树答主
回答量:297
采纳率:66%
帮助的人:102万
展开全部
scanf("%s",tempnames);    //这句后边加一句
getchar(); // 读走最后按下的回车
追问
谢谢,不过加了貌似还是不行哎
追答
int main() {
    int i;
    char names[5][20] = {"唧唧", "渣渣", "哦哦", "呵呵", "哈哈"};
    char tempnames[20];
    for (;;) {
        printf("请输入:\n");
        scanf("%s", tempnames);
        getchar();
        for (i = 0; i < 5; ++i) {
            if (strcmp(tempnames, names[i]) == 0) {
                break;
            }
        }

        if (i == 5) {
            printf("在数组未找到该词语!\n");
        } else {
            printf("选择的是%s", tempnames);
        }
    }

    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式