【问】C语言中定义变量只能在一个函数或一个块的开始吗? 【答】 C89的标准不允许在随便位置声明变量,c中的变量声明不能放在任何可执行语句之后,只允许在块的开始处; C99和C++放松了限制,允许在随便位置声明变量,这个规定更合理。只要满足先定义,后使用就行了。 在最开始定义变量是一种习惯,可以一目了然地查看一段程序中用到的变量,但在使用时才定义的方式更自然。 个人认为没必要保持变量定义放在最前面的编程习惯。