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

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

2021-12-06 21:41
791  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群
随机文章
中国第三季度GDP同比增长4.9% 国家统计局发布运行情况
2021-12-05 22:33:27
担心5G影响航空安全:波音和空客要求推迟美国5G部署
2021-12-23 08:10:46
业界首款12英寸大屏平板:荣耀平板8获99%超高好评
2022-08-13 16:21:29
怎么可以把胸变大 把胸变大的方法
2022-03-10 07:42:14
小屏骁龙8旗舰来袭!老外点赞三星S22:给苹果和谷歌上了一课
2022-02-24 17:39:49
折叠屏新标杆 荣耀Magic V被网友称为2022最佳理财产品:买它就对了
2022-02-24 17:56:09
两公民加纳遭劫身亡 需避免前往治安风险高的区域
2021-12-05 22:35:43
冬瓜的禁忌与最佳搭配 吃冬瓜的注意事项和最佳搭配
2021-12-05 23:04:07
又一地解禁皮卡!哈尔滨:皮卡解禁/可自由通行主城区
2021-12-09 21:17:28
Redmi K50至尊版8+256G和12+512G版最香 卢伟冰:强烈推荐
2022-10-06 09:06:08
暴雨把网友新买的华为Tag防丢精灵淋透 “金牌客服”李小龙:放心 IP67不是吹
2022-08-11 09:59:59
700座阿尔卑斯冰川或在30年内消失 欧洲或迎500年一遇大旱
2022-12-24 17:45:59
10月1日起 水果味电子烟产品将全部下架!专家解释原因
2023-03-09 10:14:11
芒果和猕猴桃能一起吃吗 芒果和猕猴桃能放在一起吃吗
2022-09-29 22:01:41
三星掌门人李在镕获得特赦 恢复在三星工作
2022-11-24 09:03:47
热门标签
智能手机为何越卖越贵 马斯克加速抢滩一文了解脑机接口 凛冬将至苹果还能靠iphone支撑多久 新野蛮人马斯克 630wrtx 4090解锁极限功耗 马斯克没有打价格战的基因 ipad营收锐减卖不动了 小米13 lite现身小米13家族最便宜版本 感受守护网络安全的黑科技app 感受守护网络安全的黑科技 新一代影像性能旗舰努比亚z50官宣 黑亚当纽约首映式 黑亚当创下巨石强森个人最好成绩 超人归来电影免费观看 超人回归dc 超人回归 贝鲁奇谈贝鲁奇 辐射剧集首张剧照 大超与白狼不可兼得 用废品造的iphone你会买单吗
Copyright © 2025 网站备案号: 闽ICP备2020021158号-10 本站所有信息来自于互联网或网友上传,如有侵权,敬请来信联系我们,1494738443@qq.com 我们立刻删除。
responsive_hankin 主题. Designed by 极速问答社区
赞赏作者

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

感谢您对作者的支持!

 支付宝 微信支付