标题:关于strcmp
只看楼主
gymds
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-4-13
结帖率:40%
已结贴  问题点数:5 回复次数:2 
关于strcmp
已知i=0,n=6,temp[1].num,temp[2].num,temp[3].num,temp[4].num,temp[5].num,temp[6].num分别等于00001,00002,00003,00004,00005,00006,为什么下面无论temp[p].num输入什么编号都会输出编号重复,请重新输入!

        scanf("%s",&temp[p].num);
    while(i<n)
        {   
            if(strcmp(temp[i].num,temp[p].num)==0)
            {    printf("编号重复,请重新输入!\n");
                //goto C;
            }
            i++;
        }
2015-04-25 10:40
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:3 
temp[p].num在数组中吗

一片落叶掉进了回忆的流年。
2015-04-25 10:58
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:3 
scanf("%s",&temp[p].num);
//按下面方法改的话 temp[0]在while之前赋值,此处也可以
    while(i<n)
        {   
//这里加个for循环判断 如:for(p=0;p<i;p++)当然temp[0]进while前要先赋值
            if(strcmp(temp[i].num,temp[p].num)==0)
            {    printf("编号重复,请重新输入!\n");
                //goto C;
            }
            i++;
        }

剑栈风樯各苦辛,别时冰雪到时春
2015-04-25 11:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444479-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019618 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved