c语言运行时提示“内存不能为read”,求帮助调试

2025-04-07 14:45:07
推荐回答(3个)
回答1:

#include "stdafx.h"

int main(int argc, char* argv[])
{
int a[10]={5,7,9,5,2,5,7,9,8,2},n=10;
int k=0;
for(int i=0; i {
for(int j=i+1;j if(a[i]==a[j])
a[i-k]=a[i]; //这里改成a[j-k]=a[i]; 试试!
else
k++;
}
n=n-k;
for(i=0; i printf("%4d", a[i]);
printf("\n");
return 0;
}

回答2:

是不是找重复数?
void repetition(int number)
{
int array[10] = {0};
int i = 0,flag = 0;
while (number != 0) {
array[i++] = number % 10;
number /= 10;
for (int j = 0; j < i-1; j++) {
if (array[i -1] == array[j]) {
flag = i-1;
break;
}
}
if (flag != 0) {
break;
}
}
printf("有重复数:%d", array[flag]);
}

回答3:

错误很明显,内层for循环里i的值会小于k的值,a[i-k]就报运行时错了