逗冉宝
2021-06-11 19:42
采纳率: 50%
浏览 27

求助大神这个为什么出错了

#include<stdio.h>
int main()
{
    char str1[100],str2[100],t[100];
    scanf("%s%s",str1,str2);
    if(strcmp(str1,str2)<0)
    {
        strcpy(t,str1);
        strcpy(str1,str2);
        strcpy(str2,t);
    }
    printf("%s%s\n",str1,str2);
    return 0;
}

这个为什么错了,一样的代码在室友电脑上就没什么错,一直都是第六行出错。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    c 的不同编译器容错处理程度不一样

    使用strcmp()函数正常是要引入#include<string.h>

    有的编译器容错处理会在你没有引入#include<string.h>时自动帮你引入。

    打赏 评论
  • #include<stdio.h>
    #include<cstring>
    int main()
    {
        char str1[100],str2[100],t[100];
        scanf("%s%s",str1,str2);
        if(strcmp(str1,str2)<0)
        {
            strcpy(t,str1);
            strcpy(str1,str2);
            strcpy(str2,t);
        }
        printf("%s%s\n",str1,str2);
        return 0;
    }

    你没加strcmp函数的头文件 #include<cstring>所以会报错,有帮助记得点个采纳,谢谢!

    1 打赏 评论
  • 有问必答小助手 2021-06-15 15:59

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题