基于c的for循环中改变变量值的问题
不知道何时起, 非常刻意避免在 for 循环体内改变变量值. 似乎是受别人观点影响, 但却并不知晓原因.
可是有时候用其他方法替代却不方便, 自己试了一下, 或许找到了一丝差异.
用这种方法赋值时, 没有出现问题:
代码如下:
#include <stdio.h>
int main()
{
int i;
for(i=0; i<10; i++)
{
i = i+2;
printf("%d/n", i);
}
return 0;
}
#include <stdio.h>
int main()
{
int i;
for(i=0; i<10; i++)
{
i = 2; // 将永远循环下去
printf("%d/n", i);
}
return 0;
}
不知是否只是这个原因, 才有很多提倡不要再 for 循环体内改变变量值的.
相关推荐
-
C++11的for循环,以及范围Range类的简单实现
C++11支持range-based for循环.这是一个很方便的特性,能省挺多代码.以下代码就能很方便的遍历vector中的元素,并打印出来: std::vector<int> int_vec; int_vec.push_back(1); int_vec.push_back(2); //如果要修改int_vec中的元素,将变量x声明为 int& 即可 for (int x: int_vec) { std::cout << x << endl; } 可以遍历的对
-
C语言菜鸟基础教程之for循环
先看程序: #include <stdio.h> int main() { for(int i = 0; i < 5; i++) { printf("i = %d\n", i); } printf("Loop ended!\n"); return 0; } 运行结果: i = 0 i = 1 i = 2 i = 3 i = 4 Loop ended! for循环的语句结构为: for(表达式1; 表达式2; 表达式3) { 语句; } 其执
-
解析C++中的for循环以及基于范围的for语句使用
for循环语句 重复执行语句,直到条件变为 false. 语法 for ( init-expression ; cond-expression ; loop-expression ) statement; 备注 使用 for 语句可构建必须执行指定次数的循环. for 语句包括三个可选部分,如下表所示. for 循环元素 下面的示例将显示使用 for 语句的不同方法. #include <iostream> using namespace std; int main() { // The co
-
快速学习C语言中for循环语句的基本使用方法
对于某个特定任务我们可以采用多种方法来编写程序.下面这段代码也可以实现前面的温度转换程序的功能:#include <stdio.h> /*打印华氏温度-摄氏温度对照表*/ main() { int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); } 温度的下限.上限和步长都是常量, printf 函数的第三个参数必
-
基于c的for循环中改变变量值的问题
不知道何时起, 非常刻意避免在 for 循环体内改变变量值. 似乎是受别人观点影响, 但却并不知晓原因.可是有时候用其他方法替代却不方便, 自己试了一下, 或许找到了一丝差异.用这种方法赋值时, 没有出现问题: 复制代码 代码如下: #include <stdio.h>int main(){ int i; for(i=0; i<10; i++) { i = i+2; printf("%d/n", i); } return 0;} 但是另外一种赋值方法, 却是不行的
-
WPF实现slide控件拖动完成后改变变量值
WPF中使slide控件拖动完成后改变变量值这个问题一开始觉得还是挺简单的,网上也看到不少解决方案. 首先一个最简单最直接的方案就是自定义一个名为FinalValue的依赖属性.随后重载OnThumbDragCompleted函数,在Thumb控件完成拖动时改写FinalValue.代码如下 public class SliderIgnoreDelta : Slider { public int FinalValue { get { return (int)GetValue(FinalValue
-
php引用地址改变变量值的问题
复制代码 代码如下: <?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo echo $foo.'<br/>'; $bar = "My name is $bar"; // 修改 $bar 变量 echo $bar.'<br/>'; echo $foo.'<br/>'; // $foo 的值也被修改 ?> 输出: Bob My name is
-
java集合类arraylist循环中删除特定元素的方法
在项目开发中,我们可能往往需要动态的删除ArrayList中的一些元素. 一种错误的方式: <pre name="code" class="java">for(int i = 0 , len= list.size();i<len;++i){ if(list.get(i)==XXX){ list.remove(i); } } 上面这种方式会抛出如下异常: Exception in thread "main" java.lang.I
-
深入浅析Java 循环中标签的作用
continue和break可以改变循环的执行流程,但在多重循环中,这两条语句无法直接从内层循环跳转到外层循环.在C语言中,可以通过goto语句实现多重循环的跳转,但在非循环结构中使用goto语句会使程序的结构紊乱,可读性变差.因此Java就发明了一种带标签的continue和break语句,实际上它是一种带限制的专门用于循环的goto语句. 通常情况下我们使用的continue(或break)语句不带标签,这时也就是默认在当前的循环中执行continue(或break)语句.带标签的循环实际上
-
ArrayList在for循环中使用remove方法移除元素方法介绍
有时候我们需要在一个ArrayList的for循环中动态删除元素的需求, 废话不多说看代码 List<Integer> list = new ArrayList<Integer>(); list.add(0); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); list.add(7); //正常循环 for (int i = 0; i < list.size(); i++
-
在shell或者perl中改变字体或背景的颜色
在shell下提到终端的颜色的时候不得不提到几个提示符变量: PS1:默认提示符,也就是远程登上系统之后,打开终端,我们天天见到的那个熟悉的提示符: [root@vps ~]$echo $PS1[\u@\h \W]$ PS2:就是我们命令一行写不完在我们命令行下我们打上"\",另起一行所显示的那个: [root@vps ~]$echo "hello" \> "world"hello world[root@vps ~]$echo $PS1[\
-
Android实现基于ViewPager的无限循环自动播放带指示器的轮播图CarouselFigureView控件
最近用到需要无限轮播自动播放的轮播轮播图,网上感觉都有这样那样的问题,于是自己写了一个通用的控件CarouselFigureView. 特点: 1.可以轮播view可以自己定义,不一定是要是ImageView2.指示器默认显示,但是可以隐藏3.可以设置指示器的颜色.间距.大小 4.有基础的可以自己修改代码改变指示器位置,这个应该不难5.可以自己开启和关闭自动轮播,开启轮播的时候可以设置轮播时间间隔,默认3000毫秒 我们先来看看效果图: 然后来看看使用代码 xml代码 <?xml version
-
c#循环中产生伪随机数
这种结果的原因在于,Random()函数的默认种子是时间,但在循环中产生随机数时,由于运算速度太快,用做种子的时间是相同的(毫秒级),因此产生的随机数序列是相同的,这样最终的随机数就会相同.(基于"线性同余法"的随机数发生器) 解决方法是,产生一个全局唯一标识符,使用它的哈希值来做种子产生随机数.代码如下: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System
-
基于python实现在excel中读取与生成随机数写入excel中
具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再生成随机数作为学生的考试成绩. 首先要用到的数据库有:xlwt,xlrd,random这三个数据库. 命令如下: import xlwt import xlrd import random 现有一份表格内容如下图: 现在我们需要提取这其中的B1-C14. (提示:在对这份电子表格进行操作的时候,要使用到这个电子表格的地址,即表格的储存位置.) excel=xlrd.open_w
随机推荐
- javascript函数命名的三种方式及区别介绍
- vbs中关于计算机名的相关讨论
- PC 端微信扫码注册和登录实例
- PHP 正则判断中文UTF-8或GBK的思路及具体实现
- php数字转汉字代码(算法)
- php获取apk包信息的方法
- 使用Discuz关键词服务器实现PHP中文分词
- c#读写ini配置文件示例
- 关于Linux操作系统下终端乱码的完美解决方法
- 解析php中call_user_func_array的作用
- 详解linux grep命令
- jQuery实现的简单前端搜索功能示例
- jquery自定义表格样式
- javascript实现类似超链接的效果
- java如何获取本地操作系统进程列表
- C#实现AddRange为数组添加多个元素的方法
- 浅析SQL语句中GROUP BY的用法
- 雾都数据中心为您提供50M-1G免费全能空间服务
- Android添加glide库报错Error: Failed to resolve: com.android.support:support-annotations:26.0.2的解决
- js点击时关闭该范围下拉菜单之外的菜单方法