Ghua975 2022-12-28 17:28 采纳率: 83.3%
浏览 31
已结题

c语言中模拟实现strcmp

这个代码哪里有问题啊为什么不能正常输出return呢


#include <stdio.h>
int my_strcmp(const char* str1,const char* str2)
{
    // if the characters currently being compared are equal
    int ret;
    while (*str1 == *str2)
    {

        if (*str1 == '\0'&&*str2 == '\0')
        {
            return 0;
        }
        str1++;
        str2++;
    }
    if (*str1 > *str2)
    {
        ret=1;
    }
    else
    {
        ret=-1;
    }
int main()
{
    const char *str1="abcd";
    const char *str2="dcba";
    const char *str3="abc";
    int ret = my_strcmp(str1,str1);
    printf("%d\n",ret);
    ret = my_strcmp(str1,str2);
    printf("%d\n",ret);
    ret = my_strcmp(str1,str3);
    printf("%d\n",ret);

}
}
  • 写回答

3条回答 默认 最新

  • 小6的跟班 2022-12-28 17:38
    关注

    大括号的位置错了

    #include <stdio.h>
    #include <stdlib.h>
    int my_strcmp(const char* str1,const char* str2)
    {
        // if the characters currently being compared are equal
        while (*str1 == *str2)
        {
     
            if (*str1 == '\0')//*str1和*str2都为'\0'时
            {
                return 0;
            }
            str1++;
            str2++;
        }
        if (*str1 > *str2)
        {
            return 1;
        }
        else
        {
            return -1;
        }
    }
    int main()
    {
        const char *str1="abcd";
        const char *str2="dcba";
        const char *str3="abc";
        int ret = my_strcmp(str1,str1);
        printf("%d\n",ret);
        ret = my_strcmp(str1,str2);
        printf("%d\n",ret);
        ret = my_strcmp(str1,str3);
        printf("%d\n",ret);
     
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 修改了问题 12月28日
  • 创建了问题 12月28日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改