在用VS2022时遇到了这样的报错,但程序功能已经实现了,只是每次输出都会报错,不明白为什么,求解答疑惑[
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void chgSstr(char is[], char os[])
{
int i, len1,k=0;
char ch;
len1 = strlen(is);
for (i = 0; i <=len1; i++)
{
if (is[i] == '\0')
{
os[k] = is[i]; break;
}
if ('0'<= is[i] && is[i] <= '9')
{
for (int j = 0; j <= is[i] - 48; j++)
{
os[k++] = is[i]+49;
}
}
else
{
if('a'<=is[i]&&is[i]<='z'||'A'<=is[i]&&is[i] <= 'Z')
os[k++] = is[i];
}
}
}
int main()
{
char is[50]={}, os[50]={};
scanf_s("%s", is, 51);
chgSstr(is,os);
for (int i = 0; os[i] != '\0'; i++)
{
if (os[i] != '\0')
printf("%c", os[i]);
}
return 0;
}
scanf_s("%s", is, 51);
这里应该是50,因为你的缓冲区只有50