目录

  • 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循环常见问题相关推荐

  1. Java语言的循环控制结构

    Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...

  2. c语言for循环的第三句,for循环语句的用法

    for循环有三种结构:列表for循环,不带列表for循环和类C风格for循环. do和done之间的命令成为循环体,执行次数和list列表中常熟或字符串的个数相同.for循环,首相是将in后list的 ...

  3. c语言中错误executing,C语言编程中常见问题解读.doc

    C语言编程中常见问题解读 为什么vc6打开的文件却不能编译1 为什么一个vc6工程中有两个main函数不能编译成功?我想写两个程序怎么办?2 为什么v6不能编译程序,生成信息说compile和link ...

  4. c语言for循环说课稿,C语言FOR循环说课稿.docx

    C语言FOR循环说课稿 各位评委老师上午好,我今天说课的内容是"FOR循环"(板书),下面我将从教材的地位及作用.学生学情.教学目标.教学重难点.教法.学法.教学过程.教学效果的预 ...

  5. c语言 程序循环,C语言程序设计-循环例子

    <C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...

  6. 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手

    一.学习目标 了解循环的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了解流程 第三篇:(三)轻轻松 ...

  7. c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt

    C语言-5循环结构(PPT)复习课程.ppt 第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1:求;1. do-while循环语句的形式 do 循环体 wh ...

  8. C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)

    c语言 for循环的嵌套(含答案) 第 33.34 课时 for 循环的嵌套实验题一:1.下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空.D#include main() in ...

  9. C语言 while 循环 - C语言零基础入门教程

    目录 一.while 循环简介 1.while 循环语法 2.while 使用 二.while 循环中使用 break 三.while 循环中使用 continue 四.猜你喜欢 零基础 C/C++ ...

  10. C语言 for 循环 - C语言零基础入门教程

    目录 一.for 循环简介 1.for 循环语法简介 2.for 循环代码执行步骤 3.for 循环适用场景 4.for 循环嵌套 二.for 循环实战 1.简单的 for 循环实现累计求和:1+2+ ...

最新文章

  1. 英特尔首款AI芯片终于发布:训练推理两用,历时4年花费5亿美元买来4家公司...
  2. php截取字符串函数 左右,php截取中文字符串函数的技巧
  3. vue条件语句与循环语句的基本使用
  4. highCharts如何实现json数组数据的图形展示
  5. [转帖]备忘:CentOS-7 使用systemctl 管理的服务,文件打开数上限1024要改
  6. 关于win7启动看不到桌面的解决方法
  7. 【C语言天天练(十九)】restrict关键词
  8. 中文NER碎碎念—聊聊词汇增强与实体嵌套
  9. 人生苦短,请用 Chrome!
  10. FRR BGP协议分析14 -- 静态路由的处理流程
  11. spring源码-第四个后置处理器
  12. css实现数字钟表字体实现 fonts
  13. 制作和合入patch补丁
  14. IM通讯系统分析与实战
  15. 怎么在中国知网免费下载论文?
  16. Maple拥有优秀的符号计算和数值计算能力
  17. Maven的下载与配置 和在IDEA中创建Maven的项目
  18. 微信小程序_文档_01_入门
  19. netCDF文件的scale_factor和add_offset
  20. 一起学CC3200系列教程之跑马灯---库

热门文章

  1. 中国象棋棋盘c语言编程,中国象棋 C语言编程.ppt
  2. 百万调音师—Audition 变调器
  3. win10推送_win10无线镜像投屏电视
  4. java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活
  5. android 添加 iconv 支持
  6. 使用BG/NBD模型与Gamma-Gamma模型预测客户的生命周期价值CLV/LTV
  7. php日志写什么内容,Monolog-PHP日志类库介绍
  8. 移动端js判断iPhone浏览器还是Android浏览器
  9. Java面试题:数据库优化策略有哪些?
  10. HTML+CSS之背景图片的设置