C语言允许在一个函数内的复合语句内定义变量吗?

C语言允许在一个函数内的复合语句内定义变量吗?

如果能,那……这个变量的作用域是从哪到哪?

第1个回答  2005-10-31
这个问题其实你只要亲自去编一个小程序试一下就知道了.

作用域就在该复合语句内, 一出复合语句, 就不认识它了.本回答被提问者采纳
第2个回答  2005-10-31
Ansi C编译器不认,比如TC2就不行。如果在C++编译器下编译这样的C程序就可以通过,作用域就是在该复合语句内。比如:
for(int i=0;i<MAX;i++)
{
...
}
定义的变量i只在for内起作用。
第3个回答  2005-11-11
其实在有些编译其里是可以的。

比如DJGPP