-1
我代碼堆損壞:正常塊(#62)
#include<stdio.h>
#include<conio.h>
void Nhap(int *x, int y)
{
for(int i=0; i<y; i++)
{
printf("x[%d] = ",i);
scanf("%d",&x[i]);
}
}
void Chen(int *a, int *b, int n, int m, int k)
{
int c[100];
int x=0;
for(int i=k; i<n; i++)
{
c[x]=a[i];
x++;
}
c[x]='\0';
x=0;
for(int i=k; i<m+k; i++)
{
a[i]=b[x];
x++;
}
x=0;
for(int i=k+m; i<m+n; i++)
{
a[i]=c[x];
x++;
}
for(int i=0; i<m+n; i++)
printf("%2d",a[i]);
}
void main()
{
int m, n, k=0;
printf("Enter element of b: "); scanf("%d",&m);
int *b=new int(m);
printf("Enter element of a: "); scanf("%d",&n);
int *a=new int(m+n);
printf("\nNhap a: ");
Nhap(a,n);
printf("\nNhap b: ");
Nhap(b,m);
printf("\nEnter k: "); scanf("%d",&k);
Chen(a,b,n,m,k);
delete[] a;
delete[] b;
a=nullptr;
b=nullptr;
getch();
}
後我面對錯誤:檢測到堆損壞:正常塊 「#62」 之後。
我不知道。感謝您的幫助。非常感謝你提前。 我是C新手,我嘗試修復錯誤,但imeffectively。 刪除 刪除[] a 刪除[] b 成功。我不明白。
其C++,不C. – Ari
@Ari這看起來更像是'C +' – streppel
@Streppel這是「C具有額外的東西一點點」,而不是「用一點點額外的東西C」與C++一樣? – glglgl