【发布时间】:2013-09-26 20:19:22
【问题描述】:
当我运行这段代码时:
#include <stdio.h>
#include <stdlib.h>
int main ( int argc, char *argv[] )
{
int i=0;
int *arrNum = (int *) malloc(sizeof(int) * 5);
if(arrNum == NULL)
{
puts("Failed to allocate memory !!!");
exit(1);
}
while(i<5)
{
printf("Number %d: ",i+1);
scanf("%d", arrNum[i]);
i++;
}
for(i=0;i<5;i++)
{
if(arrNum[i]%3==0)
printf("%d\n", arrNum[i]);
}
free(arrNum);
return 0;
}
我收到错误:进程以 -1073741819 状态终止, 什么原因,我应该如何更正我的代码?在 C.非常感谢
【问题讨论】:
-
这是访问冲突,是 C 代码的标准故障模式。您的 scanf() 函数调用已损坏,请使用 &arrNum[i]。鉴于可怕的缩进和明显缺乏对调试器的访问权限,我认为您应该继续寻找更有用的 IDE。
标签: c codeblocks