acbdcjt
2021-05-08 14:41
采纳率: 100%
浏览 85

为什么会错误:使用未声明的标识符'gets_s'?

#include<stdio.h>
#include<string.h>
int main()
{
    int n,i,a;
    char c[100]="1",b[100]="0",d[100]="0";
    scanf("%d\n",&n);
    gets_s(c);
    a=strlen(c);
    {if(n%2==1)
    printf("No");
    else
    {
        for(i=0;i<n/2;i++)
        {b[i]=c[i];
        d[i]=c[i+n/2];
        }
        b[n/2+1]='\0';
        c[n/2+1]='\0';
        if(strcmp(b,d)==0)
        {printf("yes.");}
    }}
    
}

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

8条回答 默认 最新

  • CSDN专家-张老师 2021-05-08 14:46
    已采纳

    你用gets()这个函数试一下,看有没有错,假如用gets_s函数的话,需要按照参数进行调用,char *gets_s(char *buffer,size_t sizeInCharacters);

    点赞 打赏 评论
  • Eleven 2021-05-08 14:53

    gets_s(c, 100);

    点赞 打赏 评论
  • 快乐鹦鹉 2021-05-08 14:53

    代码直接复制到VS2013工程里面编译,没有任何问题啊。你是在哪个编译器下编译的啊

    点赞 打赏 评论
  • benbenli 2021-05-08 15:05

    gets depreciated但是还是可以运行。

    char c[100]="1",b[100]="0",d[100]="0";有问题。如果需要初始化字符数组,用strcmp

    点赞 打赏 评论
  • benbenli 2021-05-08 15:08
    #include <stdio.h>
    #include <string.h>
    int main()
    {
        int n, l;
        char s[101];
        char *p, *m, *q;
        printf("Please enter the length N: \n");
        scanf("%d", &n);
        if (n <= 0)
        {
            printf("Length must be positive.\n");
            return -1;
        }
    
        printf("Please enter the string S (max 100 characters): ");
        gets(s);
        l = strlen(s);
        if (l != n)
        {
            printf("String length %d is not equal to %d\n", l, n);
            return -1;
        }
        else if (n %2 == 1)
        {
            printf("No\n");
            return -1;
        }
    
        p = s;
        m = s + n / 2;
        q = m;
        while (p < m)
        {
            if (*p++ != *q++)
            {
                printf("No\n");
                return 0;
            }
        }
        printf("Yes\n");
        return 0;
    }
    // Output
    Please enter the length N:                                                                                                                                                         
    6                                                                                                                                                                                  
    Please enter the string S (max 100 characters): abcabc                                                                                                                             
    Yes
    Please enter the length N:                                                                                                                                                         
    6                                                                                                                                                                                  
    Please enter the string S (max 100 characters): abcabd                                                                                                                             
    No 
    点赞 打赏 评论
  • 有问必答小助手 2021-05-08 15:29

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

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

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

    点赞 打赏 评论
  • C和C++技术博客 2021-05-08 15:34

    希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
     

    点赞 打赏 评论
  • 有问必答小助手 2021-05-11 15:22

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 打赏 评论

相关推荐 更多相似问题