• 首页
  • 资讯
  • 专家
  • 话题
  • 问题库
  • 礼品商店
  • 分类
    • 新闻资讯
    • 娱乐八卦
    • 3C数码
    • 医疗健康
    • 健康养生
    • 云盘解析
    首页   ›   正文

请问为什么这个程序输出都为1,与输入s1和s2无关

2021-12-06 21:41
763  2
IT网络 未结
关注
树友7oijsp
树友7oijsp 2021-12-06 21:41
相关标签:
2条回答
  • 在崩溃边缘
    2021-12-06 22:24

    数组比较,要比较它的内容的而不是直接比较它的变量(这个是地址)

    你s1与s2直接比较,因为s1比s2先定义,s1>s2永远成立的,与你输入的内容没有任何关系的

    如果你是

    char s2[100],s1[100];

    那结果永远是-1

    所以你程序完全不对

    以下参考(方法有多种的,而实际库函数用的是指针,更简单、效率更高)

    int Strcmp(char s1[],char s2[])
    {
    int s=0;
    for(int i=0; s1[i] && s2[i]; i++) {
    if (s1[i]>s2[i]) {
    s=1;
    break;
    } else {
    if (s1[i]s=-1;
    break;
    }
    }
    return s;
    }


    0
  • 迷人的小宝
    2021-12-06 22:30

    你是自编的字条串比较函数,但算法不对,只对你的int Strcmp(char s1[],char s2[]) 函数进行了修改。整个程序如下:

    #include
    using namespace std;
    int Strcmp(char s1[],char s2[])
    {
       char *p;
       char *q;  
       p = s1;
       q = s2;
       while(*p!='\0'  && *q!='\0')
       {
           if(*p==*q)
          {
                p++;
                q++;
          }
           else if(*p>*q)
            {
               return 1;    
            }
           else
           {
               return -1;
           }
       }
       if(*p=='\0' && *q =='\0')
       {
           return 0;
       }
       if(*p=='\0' && *q !='\0')
       {
           return -1;
       }
       if(*p!='\0' && *q =='\0')
       {
           return 1;
       }
    }
    int main(){
    char s1[100],s2[100];
    printf("请输入数组s1:");
    gets(s1);
    printf("请输入数组s2:");
    gets(s2);
    printf("-----字符串比较的结果------\n");
    printf("%d\n",Strcmp(s1,s2));
    return 0;
    }

    程序的三种运行例如下:


    0
 看不清?
提交回复

如本站内容“对您有用”,欢迎随意打赏,让我们持续更新!

打赏
游客
登录后展示个人签名去登录
0文章 0问题 0回答 0点赞
写作
发布问题
发布文章
关注微信
加QQ群370431002
随机文章
大学生点海底捞外卖被炸伤眼睛 官方称先放底料再放水:网友唏嘘这常识都没
2023-01-05 09:31:54
降血糖有效的食物 能降血糖食物有哪些
2021-12-29 07:31:00
南京地铁一号线脱轨是怎么回事 迈皋桥站至红山动物园站上下行中断运营
2021-12-09 21:41:05
刷新纪录!日本两个柿子拍出100万日元天价
2023-04-10 09:16:18
全球首发天玑8100!雷军预热Redmi K50系列:款款超想象
2022-03-13 09:08:44
子宫肌瘤能吃阿胶吗
2022-04-28 19:49:27
葡萄皮能吃吗 葡萄皮可以吃吗
2021-12-05 22:29:04
郑州怀八胞胎女子仅18岁!确实曾打促排卵针
2021-12-09 21:36:41
全国疫情最新数据情况公布2020 31省区市新增境外输入确诊13例
2021-12-05 22:04:09
新疆(含生产建设兵团)新增41例新冠肺炎确诊病例
2021-12-05 22:16:27
阿胶能去黄褐斑吗 去黄褐斑最有效的方法有哪些
2021-12-05 00:32:10
喝苹果醋有什么好处 喝苹果醋的功效与作用
2021-12-05 23:08:05
小米10新版本搭载骁龙870处理器,已现身Geekbench
2021-12-05 21:44:33
幽门螺旋杆菌阳性要注意什么
2022-03-28 11:52:51
1片安乃近的毒性有多大
2021-12-18 21:06:11
热门标签
智能手机为何越卖越贵 马斯克加速抢滩一文了解脑机接口 凛冬将至苹果还能靠iphone支撑多久 新野蛮人马斯克 630wrtx 4090解锁极限功耗 马斯克没有打价格战的基因 ipad营收锐减卖不动了 小米13 lite现身小米13家族最便宜版本 感受守护网络安全的黑科技app 感受守护网络安全的黑科技 新一代影像性能旗舰努比亚z50官宣 黑亚当纽约首映式 黑亚当创下巨石强森个人最好成绩 超人归来电影免费观看 超人回归dc 超人回归 贝鲁奇谈贝鲁奇 辐射剧集首张剧照 大超与白狼不可兼得 用废品造的iphone你会买单吗
Copyright © 2025 网站备案号: 闽ICP备2020021158号-10 本站所有信息来自于互联网或网友上传,如有侵权,敬请来信联系我们,1494738443@qq.com 我们立刻删除。
responsive_hankin 主题. Designed by 极速问答社区
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付