【C语言】for循环常见问题
目录
- for循环的语法
- for循环的常见问题
- 死循环
- 循环判断为逗号表达式
for循环的语法
语法:for(表达式1; 表达式2; 表达式3){ 循环语句…}
表达式1:初始化部分(初始化也可以放在循环体外);
表达式2:条件判断部分,用于判断循环何时终止;
表达式3:调整部分(条件变量的更新)。
for循环相比while循环,for循环的三个必要条件(初始化、判定、更新)由于风格原因,三个部分距离较近,便于查找修改。
for循环的常见问题
死循环
1.判断条件设置错误
2.数组越界导致条件变量数据被覆盖修改
如下图所示,数组arr大小为10,而在for循环体中从i=10开始,访问arr数组越界。(运行结果为vs2013下的运行结果,不同编译器的运行结果可能不同)
出现以上死循环的原因为:函数在运行中在内存中的栈上开辟空间,如下图所示,局部变量i首先定义并初始化,随后arr数组建立,i与arr先后在栈上开辟空间,数组下标由下自上增加,当以i为下标访问数组越界时,越界的数组占用了变量i所在的存储位置,将i原有的数据覆盖掉改为了1。
所以在之后的循环中,条件变量i又从1 开始循环增加,重新从1号下标开始为arr元素赋值,直到数组再次越界覆盖i的内容,从而造成了死循环。
当i=12时,arr[12]=1 就会覆盖i的值,将i的内容改为1
注意:不同平台下运行结果可能不同,因为存储i的位置与数组位置的间隔可能不同。
循环判断为逗号表达式
如下所示,for循环的判断条件如果使用逗号表达式会造成什么现象?
判断时,先判断x<3,在判断y<5,但最后只取最后一个表达式的真假作为是否成立的结果
若将判断条件替换为x<5,y<3 则循环只进行3次
【C语言】for循环常见问题相关推荐
- Java语言的循环控制结构
Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...
- c语言for循环的第三句,for循环语句的用法
for循环有三种结构:列表for循环,不带列表for循环和类C风格for循环. do和done之间的命令成为循环体,执行次数和list列表中常熟或字符串的个数相同.for循环,首相是将in后list的 ...
- c语言中错误executing,C语言编程中常见问题解读.doc
C语言编程中常见问题解读 为什么vc6打开的文件却不能编译1 为什么一个vc6工程中有两个main函数不能编译成功?我想写两个程序怎么办?2 为什么v6不能编译程序,生成信息说compile和link ...
- c语言for循环说课稿,C语言FOR循环说课稿.docx
C语言FOR循环说课稿 各位评委老师上午好,我今天说课的内容是"FOR循环"(板书),下面我将从教材的地位及作用.学生学情.教学目标.教学重难点.教法.学法.教学过程.教学效果的预 ...
- c语言 程序循环,C语言程序设计-循环例子
<C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...
- 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手
一.学习目标 了解循环的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了解流程 第三篇:(三)轻轻松 ...
- c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt
C语言-5循环结构(PPT)复习课程.ppt 第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1:求;1. do-while循环语句的形式 do 循环体 wh ...
- C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)
c语言 for循环的嵌套(含答案) 第 33.34 课时 for 循环的嵌套实验题一:1.下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空.D#include main() in ...
- C语言 while 循环 - C语言零基础入门教程
目录 一.while 循环简介 1.while 循环语法 2.while 使用 二.while 循环中使用 break 三.while 循环中使用 continue 四.猜你喜欢 零基础 C/C++ ...
- C语言 for 循环 - C语言零基础入门教程
目录 一.for 循环简介 1.for 循环语法简介 2.for 循环代码执行步骤 3.for 循环适用场景 4.for 循环嵌套 二.for 循环实战 1.简单的 for 循环实现累计求和:1+2+ ...
最新文章
- 英特尔首款AI芯片终于发布:训练推理两用,历时4年花费5亿美元买来4家公司...
- php截取字符串函数 左右,php截取中文字符串函数的技巧
- vue条件语句与循环语句的基本使用
- highCharts如何实现json数组数据的图形展示
- [转帖]备忘:CentOS-7 使用systemctl 管理的服务,文件打开数上限1024要改
- 关于win7启动看不到桌面的解决方法
- 【C语言天天练(十九)】restrict关键词
- 中文NER碎碎念—聊聊词汇增强与实体嵌套
- 人生苦短,请用 Chrome!
- FRR BGP协议分析14 -- 静态路由的处理流程
- spring源码-第四个后置处理器
- css实现数字钟表字体实现 fonts
- 制作和合入patch补丁
- IM通讯系统分析与实战
- 怎么在中国知网免费下载论文?
- Maple拥有优秀的符号计算和数值计算能力
- Maven的下载与配置 和在IDEA中创建Maven的项目
- 微信小程序_文档_01_入门
- netCDF文件的scale_factor和add_offset
- 一起学CC3200系列教程之跑马灯---库
热门文章
- 中国象棋棋盘c语言编程,中国象棋 C语言编程.ppt
- 百万调音师—Audition 变调器
- win10推送_win10无线镜像投屏电视
- java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活
- android 添加 iconv 支持
- 使用BG/NBD模型与Gamma-Gamma模型预测客户的生命周期价值CLV/LTV
- php日志写什么内容,Monolog-PHP日志类库介绍
- 移动端js判断iPhone浏览器还是Android浏览器
- Java面试题:数据库优化策略有哪些?
- HTML+CSS之背景图片的设置