编译器C89和C99的区别(关于C语言的变量定义的位置问题)
编译器问题——C89和C99
C89规定,在任何执行语句之前,在块的开头声明所有局部变量。
在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。
1 出现如下问题
报错说 #286 declaration may not apeear after excutable statement in block
在块中,声明不可以出现在可执行语句的后面。
2 解决方式
点击勾选C99 Mode,然后编译就不报错了。
qazwsx2_: 通俗易懂
blue0751: 也就是说声明和赋值语句不能同时进行!但经过实验发现,局部变量声明的同时初始化是没问题的,只有全局变量并且在其他文件extern声明了的情况下,同时赋值就会警告
あき墁: 复制过去“true”那里报错了怎么办
毂梁微: 请教一下, 您是按像素大小定义组件所占宽度,一行一共多少像素?组件所占的宽度可以用比例表示吗?
2301_81682304: 你这是错的啊