weixin_44790790
Rigis
采纳率0%
2019-07-06 15:59

字符串连接函数 中的 错误提示“strcat_s”: 用于调用的参数太少 是怎么回事,求指点?

我改成这样后,运行结果又出了问题,strcat_s(buffer, 100,areaNumber);
用的是VS2013

#include <stdio.h>
#include <string.h>
void main()
{
    char areaNumber[5];
    char phoneNumber[12];
    int input;
    char extraNumber[5];
    char buffer[25] = { 0 };
    printf("请输入区号:");
    gets_s(areaNumber, 80);
    printf("请输入电话号码:");
    gets_s(phoneNumber, 80);
    printf("有分机号吗?(y/n)");
    input = getchar();
    fflush(stdin);
    if (input == 'y')
    {
        printf("请输入分机号:");
        gets_s(extraNumber, 80);
        strcat_s(buffer, areaNumber);
        strcat_s(buffer, "-");
        strcat_s(buffer, phoneNumber);
        strcat_s(buffer, "-");
        strcat_s(buffer, extraNumber);
    }
    else{
        strcat_s(buffer, areaNumber);
        strcat_s(buffer, "-");
        strcat_s(buffer, phoneNumber);
    }
    printf("您的电话号码是%s。\n", buffer);
}
```![图片说明](https://img-ask.csdn.net/upload/201907/06/1562400259_71379.jpg)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2年前

    你的buffer只有25
    strcat_s(buffer, 25,areaNumber);

    类似的
    gets_s(extraNumber, 80);
    而你 char extraNumber[5];,那么要么前面修改为5,要么后面修改为80
    而且要记住,你输入的字符最大长度必须比数组长度小1。否则结束符没地方放。

    点赞 3 评论 复制链接分享

相关推荐