0x600000000 的内存读取失败
memory read failed for 0x600000000
我正在 xcode Mac
上做简单的 C 语言练习
这是简单的冒泡排序算法。
我想代码中没有逻辑或语法错误
但我在调试后看到了错误警告
错误:0x600000000 的内存读取失败
也许这是关于内存问题,但我不知道这意味着什么
以及如何在没有任何警告消息的情况下解决这个问题
P.S:我的母语不是英语。感谢您提前理解我糟糕的英语:)
int p[]={0},i,j,num,temp;
printf("number: ");
scanf("%d",&num);
for(i=0;i<num;i++)
scanf("%d",&p[i]);
printf("arry numbers show-----");
printf("\n");
for(i=0;i<num;i++)
printf("%d ",p[i]);
printf("\n");
for(i=0;i<num;i++)
{
for(j=0;j<num-1;j++)
{
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
for(i=0;i<num;i++)
printf("%d ",p[i]);
printf("\n");
您已明确初始化数组 int p[]={0}
只有一个元素。在排序的情况下,如果你只有一个元素,这意味着它已经排序了!请参阅数组 Arrays documentation 的文档。
我正在 xcode Mac
上做简单的 C 语言练习这是简单的冒泡排序算法。
我想代码中没有逻辑或语法错误 但我在调试后看到了错误警告
错误:0x600000000 的内存读取失败
也许这是关于内存问题,但我不知道这意味着什么 以及如何在没有任何警告消息的情况下解决这个问题
P.S:我的母语不是英语。感谢您提前理解我糟糕的英语:)
int p[]={0},i,j,num,temp;
printf("number: ");
scanf("%d",&num);
for(i=0;i<num;i++)
scanf("%d",&p[i]);
printf("arry numbers show-----");
printf("\n");
for(i=0;i<num;i++)
printf("%d ",p[i]);
printf("\n");
for(i=0;i<num;i++)
{
for(j=0;j<num-1;j++)
{
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
for(i=0;i<num;i++)
printf("%d ",p[i]);
printf("\n");
您已明确初始化数组 int p[]={0}
只有一个元素。在排序的情况下,如果你只有一个元素,这意味着它已经排序了!请参阅数组 Arrays documentation 的文档。