礼拜天写的仿真程序,老会出现Invalid Memory Access的错误,通过ODB调试发现,错误出现在代码
while(d[i]!=id)i++;
处。
对于Invalid Memory Access错误,通常是会出现在数组、指针和文件的操作上,我这有数组,显然是出现在数组上面。
将上面的代码改为
while(d[i]!=id){
i++;
printf("v");
}
这样的结果是,会出现数组长度个v,这显然是循环条件不足引起的Invalid Memory Access,因此需要再修改一下while语句:
while((d[i]!=id) && (d[i]!=0))i++;
这样就可以了。
while(d[i]!=id)i++;
处。
对于Invalid Memory Access错误,通常是会出现在数组、指针和文件的操作上,我这有数组,显然是出现在数组上面。
将上面的代码改为
while(d[i]!=id){
i++;
printf("v");
}
这样的结果是,会出现数组长度个v,这显然是循环条件不足引起的Invalid Memory Access,因此需要再修改一下while语句:
while((d[i]!=id) && (d[i]!=0))i++;
这样就可以了。
转载于:https://blog.51cto.com/yangfei1/328373