山东省建设工程信息网站,做网站每天都要花钱么,简单网页制作模板下载,徐州网站设计制作建设C标准的问题 C89规定#xff0c;在任何执行语句之前#xff0c;在块的开头声明所有局部变量。 即应该如下#xff1a;定义变量只能在最开始#xff0c;scanf等执行语句之前
int N 0;double sum 0;scanf(%d,N);在C99以及C中则没有这个限制#xff0c;即…C标准的问题 C89规定在任何执行语句之前在块的开头声明所有局部变量。 即应该如下定义变量只能在最开始scanf等执行语句之前
int N 0;double sum 0;scanf(%d,N);在C99以及C中则没有这个限制即在首次使用之前可在块的任何位置都可以声明变量。 如下
int N 0;scanf(%d,N);double sum 0;另一方面编译器不同也不同gcc编译器有很多扩展的功能可完美支持C99标准。
关于变量的定义 以花括号{}给包围起来的代码段称为block,只要在block开始的地方定义变量就不会错 变量作用域和生存期 该变量的作用域和生存期(除了static限定)只在该block里,且该变量可以屏蔽block外的变量 譬如在block外已经有一个变量名为a 1的int变量,在block里允许定义一个同名的变量int a 2,但在block里试着用printf打印的话,会发现printf(%d, a)结果是2.这就叫做屏蔽外面的变量!
本文为摘抄笔记原创请查看 https://wenku.baidu.com/view/d3adc6d03186bceb19e8bb6a.html