我需要分配一個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