iso c90禁止混合声明和代码

时间:2015-03-03 06:00:46

标签: c

这是我的编码,我在我声明int * intpointer的行中得到了上述错误。请帮我解决这个问题。

#include <stdio.h>

int main()
{
int intarray[5] = {10,20,30,40,50};

int i;
for(i = 0; i < 5; i++)
    printf("intarray[%d] has value: %d - and address @ %x\n", i,     intarray[i], &intarray[i]);

int *intpointer = &intarray[4];
printf("address: %x - has value %d\n", intpointer, *intpointer); 

intpointer--;
printf("address: %x - has value %d\n", intpointer, *intpointer); 

return 0;
}

1 个答案:

答案 0 :(得分:2)

发出此声明

int *intpointer = &intarray[4];

在声明intarray之后的函数代码块的开头。

当错误消息报告时,您将代码编译为C90代码,要求声明将在其他语句之前。