首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

二维数组跟一维数组(字符串)strcmp的使用

2013-12-15 
二维数组和一维数组(字符串)strcmp的使用?以前一般都是用strcmp进行一维数组的比较,刚刚用它进行一维和二

二维数组和一维数组(字符串)strcmp的使用?
以前一般都是用strcmp进行一维数组的比较,刚刚用它进行一维和二维的比较就出了错,求前辈指教!!


#include<stdio.h>
#include<string.h>
int main()
{
char name[10][20]={0};
char *p;
char name1[20];
int i;
p=name1;
strcpy(name[5],"大中国");

strcpy(name1,"大中国");
printf("%s\n",p);
for(i=0;i<10;i++)
{
if(strcmp(name1,name[i])==0)
{
printf("zhaodaole\n");
break;
}
else
{
i++;
}
}
printf("i=%d\n",i);
return(0);
}

上面这个程序当执行“if(strcmp(name1,name[i])==0)”当i=5时,应该会跳出来吧?可是事实不是这样的。
求高手指教啊!!
谢谢!!
[解决办法]
多了一次i++,跳过了i=5的情况:

#include<stdio.h>
#include<string.h>
int main()
{
    char name[10][20]={0};
    char *p;
    char name1[20];
    int i;
    p=name1;
    strcpy(name[5],"大中国");

    strcpy(name1,"大中国");
    printf("%s\n",p);
    for(i=0;i<10;i++)
    {
        if(strcmp(name1,name[i])==0)
        {
            printf("zhaodaole\n");
            break;
        }
    }
    printf("i=%d\n",i);
    return(0);
}


引用:
以前一般都是用strcmp进行一维数组的比较,刚刚用它进行一维和二维的比较就出了错,求前辈指教!!

#include<stdio.h>
#include<string.h>
int main()
{
char name[10][20]={0};
char *p;
char name1[20];
int i;
p=name1;
strcpy(name[5],"大中国");

strcpy(name1,"大中国");
printf("%s\n",p);
for(i=0;i<10;i++)
{
if(strcmp(name1,name[i])==0)
{
printf("zhaodaole\n");
break;
}
else
{
i++;
}
}
printf("i=%d\n",i);
return(0);
}

上面这个程序当执行“if(strcmp(name1,name[i])==0)”当i=5时,应该会跳出来吧?可是事实不是这样的。
求高手指教啊!!
谢谢!!

热点排行