变量定义-关于在循环中变量的定义问题

问题描述

关于在循环中变量的定义问题
在while或者do。。while循环中,可以在循环中定义变量吗?我看书上是可以的,但这样不会出现定义重复吗?

解决方案

每次一个循环函数,变量就被释放了呃,它是局部变量。

解决方案二:
变量的定义和代码的运行是两回事。
好比,你函数中定义了一个变量,你代码调用了2次这个函数,你可能认为变量定义会执行2次?实际上定义是给编译器看的,代码执行中定义变量的语句根本不会起作用。

解决方案三:
不同的语言是不一样的。
有的语言变量的作用域就是函数,无论是否定义在循环中,变量总是函数级唯一的。
有的语言变量的作用域是块,循环中的变量,每次循环变量就创建一次、释放一次。

时间: 2024-08-02 21:53:09

变量定义-关于在循环中变量的定义问题的相关文章

bash 循环中变量作用范围的问题分析_linux shell

先来看一段错误的代码. 复制代码 代码如下: #!/bin/bashfor x in `ls */.*/.*`cat $x|do echo $xwhile read line  do    c=`echo $line|awk -F'(' '{print $1}'`    #echo $c    i=$((i+$c))  done  echodoneecho $i 以上代码有什么问题呢?cat之后的管道会使i的值没有被加1. 正确的方法: 复制代码 代码如下: #!/bin/bashfor x i

javascript-请教有关JS中变量的问题

问题描述 请教有关JS中变量的问题 举个栗子: window.onload=function(){ var a=1; var b=2; plus(a,b); function plus(a,b){ a=a+b; b=0; //此时在这个函数内还能调用到父函数中的a=1,b=2吗? } } 解决方案 这个问题是两种不同变量在作为参数传递的问题,JS传递变量分为两种一种是基础变量,传递的是变量内容,第二种是引用变量(对象),在函数中传递的指向对象的指针,楼主这个函数传递的是基础变量,所以在子作用域中

c++ 如果想要改变string对象中字符的值,必须把循环变量定义成引用类型

问题描述 c++ 如果想要改变string对象中字符的值,必须把循环变量定义成引用类型 c++primer上的一句话,不能理解为什么必须要用引用,这和用范围for不用引用有什么区别吗? 试了一下,不用引用输出时字符的值确实没有改变,这是什么原理呢,可以解释一下么? 跪求大神啊 解决方案 不用引用,你循环变量引用的就会是变量的拷贝,就没法修改实际变量 解决方案二: #include #include using std::cout; using std::endl; using std::stri

c++-C++内层循环中定义变量和在外面定义比影响大吗

问题描述 C++内层循环中定义变量和在外面定义比影响大吗 例如: for(int i=0;i<999;i++){ for(int j=0;j<999;j++); } 内层循环每次都定义j会造成多大的消耗呢 解决方案 这个需要看你具体用什么编译器.不过主流编译器(如vs和gcc)这一块优化都比较好,不会反复分配变量. 解决方案二: 以前我也有过这种担心,不过现在看完别人的评论,我有点豁然开朗了,在内层循环中定义变量到底会不会存在重复分配的问题,这涉及到编译器的优化. 解决方案三: 这种基本可以忽

代码-for循环中定义的变量 在程序的其他地方无法使用

问题描述 for循环中定义的变量 在程序的其他地方无法使用 RT code 运行环境:win7 dev c++ # include <stdio.h> # include <stdlib.h> # include <windows.h> int main () { for(int i = 1;i<=100;i++) { printf("%d ",i); } printf("%d ",i); return 0; } 程序会报错

关于Java语言for循环内外变量定义的问题

问题描述 今天被TeamLeader批了一顿,本来想和他争论争论的,后来感觉自己也不清楚,遂只有来Iteye讨教讨教了.这是个关于在for循环内外变量定义的问题,先看代码:public class Test2 {public static void main(String[] args) {// 放入10000000的元素List<Object> list = new ArrayList<Object>(10000000);for(int i = 0; i < 1000000

循环 变量定义-java初学问题,很简单的

问题描述 java初学问题,很简单的 import java.util.Scanner;public class Za {private static final double sum = 0; public static void main(String[] args) { int score[]=new int[5]; int sum=0; for (int i = 0; i < score.length; i++) { System.out.println(""请输入成绩:

mysql存储过程中变量的定义赋值操作

昨天我们讲了mysql教程存储过程创建修改与删除,下面我们这篇教程是讲关于mysql存储过程中变量的定义赋值操作哦. 一.变量的定义 定义一个变量语法如下: declare var_name[,...] type[default value] 看一个变量定义实例 declare last date; 二.mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 set var_name= [,var_name expr]... 给上面

dsp ccs-新手求助 CCS3.3 报错提示变量未定义(代码中作为全局或局部变量已经定义了)

问题描述 新手求助 CCS3.3 报错提示变量未定义(代码中作为全局或局部变量已经定义了) 图1 是ccs报错的提示 "TSK_OFDM.c", line 50: error: identifier "FFT_inputBuf" is undefined "TSK_OFDM.c", line 51: error: identifier "FFT_outputBuf" is undefined 以上是ccs的报错提示. 图2 是