我改成这样后,运行结果又出了问题,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)