为指针赋值问题,这样写有什么错误吗
[code=C/C++][/code]
int num,i;
printf("how much number you need:");
scanf("%d",&num);
int *array=(int *)malloc(num*sizeof(int));
for(i=0;i<num;i++)
{
scanf("%d",array++);
}
编译通过,运行时出错。
[解决办法]
建议不要scanf("%d",array++);这样会修改了array的值,那么你的数组的首地址就不是array了。建议使用array+i吧。
[解决办法]
scanf("%d",&array[i]);