我需要分配一个N大小的数组并分配它的值,我怎么能没有int索引呢?如何循环在C中没有索引的数组?
这里是我的代码至今,但它不会做什么,我需要:
#include <stdlib.h>
#include <stdio.h>
int main() {
int *array;
int n;
printf("Size of array: ");
scanf("%d", &n);
array = (int*) malloc(n*sizeof(int));
if (array == NULL) printf("Memory Fail");
for(; *array; array++)
{
printf("Store:\n");
scanf("%d", &n);
*array = n;
}
for(; *array; array++)
{
printf("Print: %d\n",*array);
}
free(array);
return 0;
}
感谢
我不确定我是否理解“没有int索引”?为什么在地球上你会受到这个限制?你“允许”使用指针算术吗? (即*(array + 1);?) – 2011-01-29 04:22:56
这是一个家庭作业问题吗? – 2011-01-29 04:23:33
指针算术将是要走的路。但这与索引完全相同(`*(arr + 2)`与`arr [2]`相同) – 2011-01-29 04:26:08