请问在c语言中for循环语句表达式1中能否定义变量?如果可以它的作用域又是什么?

如题所述

标准c语言,变量声明必须在语句之前,for 小括号中声明/定义变量是语法错误。
for(int i=0;i<n;i++) -- 语法错误。

标准c语言,每对花括号之间为一个域,每个域中可以声明/定义变量,它的作用域就是花括号之间。花括号套花括号,则外域量 可以作用到 内域,除非 内域 声明了 同名 变量。
int i;
for(i=0;i<2;i++)
{ int j; // 这里允许声明,作用域是花括号之间
j=i*2; // 语句
printf("%d ",j); // 语句
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-17
能。例如for(int i=0;i<n;i++)。其中i的作用域是for循环的循环体。
相似回答