编译器C89和C99的区别(关于C语言的变量定义的位置问题)

编译器问题——C89和C99

C89规定,在任何执行语句之前,在块的开头声明所有局部变量。

在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。

1 出现如下问题

报错说 #286 declaration may not apeear after excutable statement in block
在块中,声明不可以出现在可执行语句的后面。
编译器C89和C99的区别(关于C语言的变量定义的位置问题)_第1张图片

2 解决方式

点击勾选C99 Mode,然后编译就不报错了。
编译器C89和C99的区别(关于C语言的变量定义的位置问题)_第2张图片

你可能感兴趣的:(C/C++语言,c语言)