请问在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循环的循环体。

请问在c语言中for循环语句表达式1中能否定义变量?如果可以它的作用域...
for(int i=0;i<n;i++) -- 语法错误。标准c语言,每对花括号之间为一个域,每个域中可以声明\/定义变量,它的作用域就是花括号之间。花括号套花括号,则外域量 可以作用到 内域,除非 内域 声明了 同名 变量。int i;for(i=0;i<2;i++){ int j; \/\/ 这里允许声明,作用域是花括号...

c int 可以在for循环中定义吗
1. 可以在for循环中定义。2. 因为C语言中的for循环语句中可以在第一个分号后定义变量,这个变量的作用域只在for循环中有效,所以可以在for循环中定义变量。3. 在for循环中定义变量可以提高代码的可读性和可维护性,同时也可以避免变量在其他地方被误用。但是需要注意的是,在for循环中定义的变量只在循...

一个C语言可以再for语句中声明变量吗
可以的,在for语句的循环体的大括号之内的最前面可以声明变量,作用域仅在大括号内,出循环就被舍弃,是属于循环体的临时变量。for ( i=0;i<10;i++ ) { int x,y;...}

C语言中for循环里的变量i和for循环外的变量i一样吗?为什么?
不一样。这是变量作用范围的小知识点。C语言中,变量分为全局变量,局部问题,临时变量,3类。全局的好理解,就是在程序的任何地方都可以使用的变量。局部变量,就是在一定范围内有定义的变量。临时更好理解了,就是临时使用一下,也是局部变量的一种,不过范围更小,用完就丢弃。比如 for(int i=0;...

请教大佬们关于C语言中for循环的两个问题?
for循环是C语言的循环语句,它不是函数。Main里定义的变量,只要在作用域内有语句给变量赋值,其值都会被改变。但是如果Main里定义了int i,同时有for(int i = 0; ;){}这样的语句那在for里面改变i的值,Main里的i不变。因为for里面的局部变量i只作用在for语句内,而且Main里的i不会作用在for...

C语言里能中途定义一个变量么?比如一个程序涉及多重循环嵌套,在其中一...
可以定义,但这里要注意该变量的作用域和生存期的问题

关于C语言中循环时候数据的存放问题
这个要看你定义的变量放在哪里,如果你定义的变量放在for的前面,也就是外面,那么当执行完for语句后,你的变量值会被保存下来。但如果你是在for的花括号里面定义变量,那么当执行完for语句后,你在for里面定义的变量不能带到花括号外。这个也就是课本上说的变量作用域。

C语言如何定义变量和变量的作用域
\/\/错误的变量名:case是C语言的一个关键字,不能作为变量名 int case = 12;C语言中定义的关键字有:由ANSI标准定义的C语言关键字共32个:auto、 double、 int、 struct、 break 、else、 long、 switch、case、 enum、 register 、typedef、 char 、extern 、return、 union 、const、 float 、...

C语言允许在一个函数内的复合语句内定义变量吗?
这个问题其实你只要亲自去编一个小程序试一下就知道了.作用域就在该复合语句内, 一出复合语句, 就不认识它了.

关于C语言for循环的问题
可以在出了这个循环后的另一个for循环中重复使用 这是没有问题的。第一个循环之后,i是9 但第二个for循环的首语句重新定义了i=1,没有问题,只要i是有效使用范围(作用域)。

相似回答