C语言编程遇到:illegal use of this type as an expression错误解决办法

C语言编程 illegal use of this type as an expression错误解决办法

今天编写一个出栈入栈的程序,遇到这个问题, 先看一个测试代码吧:

int main(int argc,char * argv[])
{
    int flag=1;
    if(flag==1)
    {
      flag=flag*10;
      printf("this is a test\r\n");
    }
    int i;
    i=flag;

}

if语句在这个“i”变量声明的前面就会报“illegal use of this type as an expression”这个错误,这是因为;C语言的书写格式要求中,在函数体内,变量统一放在前端,在声明了全部变量之后才开始其他的表达式语句或者函数调用,不能随处声明变量。在声明一个变量之前,如果已经有表达式语句或者函数调用语句,则声明的变量就被误认为是一个表达式expression,因此会发生错误。 将if语句放到"i"变量声明后,问题工程解决!

你可能感兴趣的:(C语言)