在VC++6.0 中运行下面的代码的时候为什么会出现 0xC0000005 错误,你们...
发布网友
发布时间:2024-05-22 15:58
我来回答
共2个回答
热心网友
时间:2024-05-28 14:24
1.num3没初始化就使用了
2.a[i+j]
这两个都可能出现地址越界
热心网友
时间:2024-05-28 14:19
#include <stdio.h>
#include <string.h>
void main()
{
char a[100], b[100], d[100];
int num1, num2, num3,i,j;
scanf("%s", a);
getchar();
scanf("%s", b);
getchar();
num1 = strlen(a);
num2 = strlen(b);
for( i = 0; i < num1; i++)
{
int flag = 1;
for( j = 0; j < num2; j++)
{
if(a[i+j] != b[j])
flag = 0;
}
if(!flag)
{
d[num3] = a[i];
num3++;
}
else
i += num2-1;
}
d[num3] = '\0';
printf("%s\n", d);
}
你再试试