如何打印int数组的索引

时间:2014-09-22 04:46:56

标签: c arrays

我有一个int的数组,表示为int* myInts[100];

当我尝试打印0 th 索引时,

printf("%d\n",myInts[0]);

我收到以下编译器警告:

  

警告:格式'%d'需要类型为'int'的参数,但参数为2   类型'int *'[-Wformat =]

为什么会这样?

3 个答案:

答案 0 :(得分:4)

如果您需要int数组,请将其声明为

int myInts[100];

如果您想要int *数组,请将其打印为

printf("%p\n", (void *)myInts[0]);

答案 1 :(得分:1)

int* myInts[100];

向整数声明一百个指针的数组,而不是你描述的一百个整数。

您需要使用:

int myInts[100];

代替。

答案 2 :(得分:1)

int* myInts[100]; 它表示100个整数指针的数组。 int myInts[100]; 它表示100个整数的数组。

消除警告就好了 printf("%p\n", (void *)myInts[0]);