美文网首页
For 语句中变量的范围

For 语句中变量的范围

作者: arthur_wang_73 | 来源:发表于2019-12-08 13:49 被阅读0次

编程调试过程中发现一个比较诡异的事情。在For语句中的循环变量的作用范围有一些特殊的规则。为此进行了一系列的试验:

include <stdio.h>

int main(void){
int i=0;
for (i=0; i<10;i++){
printf("i=%d\n",i);
}
printf("ix=%d\n",i);
return 0;
}

输出结果如下:


output1.png

在程序中for语句的循环变量在整个程序中有效。
将程序做如下修改:

include <stdio.h>

int main(void){
int i=0;
for (int i=0; i<10;i++){
printf("i=%d\n",i);
}
printf("ix=%d\n",i);
return 0;
}

重新调试运行结果如下:


output2.png

在第二个程序中i在循环体中定义了一下,让i只在For语句内部递增 ,而外面的变量i保持不变。

这样的好处是, 在for循环中选择循环变量是可以不用考虑这个变量的标识符是否已经使用过了。
坏处是: 如果在循环体之外还需要使用循环变量的话,则尽量不要在fo循环体内部进行定义。

拿while循环也实验了一下。

  1. 在判断语句中使用的变量是没有机会进行定义的(还不会在判断语句中进行类型声明)。
  2. 可以在循环体内定义与循环体外面相同的变量。但是不能带出循环体。这一点上是和for循环一致的。

结论

在循环体内可以定义循环体内部使用的变量,与主程序标识符可以相同。作用域只在循环体内有效。

相关文章

  • For 语句中变量的范围

    编程调试过程中发现一个比较诡异的事情。在For语句中的循环变量的作用范围有一些特殊的规则。为此进行了一系列的试验:...

  • 6.C语言内存管理

    作用域 局部变量 在一个函数内定义,只在函数范围内有效 在复合语句中定义,只在复合语句中有效 随着函数调用的结束或...

  • 变量的作用域

    变量的作用域指的是,变量起作用的范围。也就是能访问到变量的有效范围。JavaScript的变量依据作用域的范围可以...

  • 4.变量作用域、函数的三种模式调用

    作用域 变量的有效范围。 如何检测变量的有效范围 在指定的作用域下访问该变量,如果不报错,就证明这个变量的有效范围...

  • 浅谈PHP与JAVA对比

    变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问变量的代码区域,相反,如果不在这个范围内变量...

  • 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--变量

    变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问变量的代码区域,相反,如果不在这个范围内变量...

  • 函数迈出三小步(二)

    四、 变量的作用域 变量的作用域指的是,变量起作用的范围。也就是能访问到变量的有效范围。 JavaScript的...

  • 面对对象学习第二篇

    局部变量和成员变量的区别 (1)成员变量直接定义在类中。局部变量定义在方法中,参数上,语句中。 (2)成员变量在这...

  • PHP变量的作用域和静态变量

    1、什么是变量的作用域 变量的作用域就是变量的范围,变量的范围即它定义的上下文背景(即它的生效范围),大部分PHP...

  • mysql 树状表数据查询

    1语句中定义变量 SELECT * FROM department WHERE id IN( SELECT id ...

网友评论

      本文标题:For 语句中变量的范围

      本文链接:https://www.haomeiwen.com/subject/uqdmgctx.html