E46.【C语言】练习:面试题:循环多少次?

打印 上一主题 下一主题

主题 797|帖子 797|积分 2391

目次
1.题目
2.分析
变式训练
分析

1.题目

下列代码的循环一共举行了多少次?
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int i = 0;
  5.         int k = 0;
  6.         for (i = 0, k = 0; k = 0; i++, k++)
  7.                 k++;
  8.         return 0;
  9. }
复制代码
2.分析

留意到for循环的条件:k = 0;这里是赋值符号,和k==0不同,如果赋值语句作为条件,其返回值为k赋值的值,这里k = 0,赋值为0,0为假,因此不再举行第二次循环,因此答案为:1次
变式训练

将题目标代码改成下方如许,循环一共举行了多少次?
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int i = 0;
  5.         int k = 0;
  6.         for (i = 0, k = 0; k = 1; i++, k++)
  7.                 k++;
  8.         return 0;
  9. }
复制代码
分析

由于k = 1返回的结果是1,为真,所以会循环无穷次,同理改成for (i = 0, k = 0; k = -1; i++, k++)也是循环无穷多次

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表