请问在c语言中for循环语句表达式1中能否定义变量?如果可以它的作用域又是什么?
2个回答
展开全部
标准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); // 语句
}
for(int i=0;i<n;i++) -- 语法错误。
标准c语言,每对花括号之间为一个域,每个域中可以声明/定义变量,它的作用域就是花括号之间。花括号套花括号,则外域量 可以作用到 内域,除非 内域 声明了 同名 变量。
int i;
for(i=0;i<2;i++)
{ int j; // 这里允许声明,作用域是花括号之间
j=i*2; // 语句
printf("%d ",j); // 语句
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询