for循环省略的条件是怎么看出来的
展开全部
题目抄错了吧?
for (;a;) b+=a ; 如果这里是分号 a -=++c;
语句应理解为 一个循环语句: for (;a;) { b+=a ; }; 一个赋值语句: a -=++c;
估计 应当是 逗号: b+=a , a -=++c; 逗号表达式整体 做循环体。
for (;a;) b+=a , a -=++c;
等价于: for (;a;) {b+=a , a -=++c; } 这是个无限的循环,直到 终止条件 a 为假 才跳出循环。 a 为假, 即不断循环 执行 {b+=a , a -=++c; } 直到 a 变 0。
让我们跑一跑循环: 第一圈 b+=a,b=6, ++c 则c变1,a-=1 则a变5;
第二圈 b+=a,b=11, ++c 则c变2,a-=2 则a变3;
第三圈 b+=a,b=14, ++c 则c变3,a-=3 则a变0; 循环结束条件满足了。
答案是 A, 0,14,3
for (;a;) b+=a ; 如果这里是分号 a -=++c;
语句应理解为 一个循环语句: for (;a;) { b+=a ; }; 一个赋值语句: a -=++c;
估计 应当是 逗号: b+=a , a -=++c; 逗号表达式整体 做循环体。
for (;a;) b+=a , a -=++c;
等价于: for (;a;) {b+=a , a -=++c; } 这是个无限的循环,直到 终止条件 a 为假 才跳出循环。 a 为假, 即不断循环 执行 {b+=a , a -=++c; } 直到 a 变 0。
让我们跑一跑循环: 第一圈 b+=a,b=6, ++c 则c变1,a-=1 则a变5;
第二圈 b+=a,b=11, ++c 则c变2,a-=2 则a变3;
第三圈 b+=a,b=14, ++c 则c变3,a-=3 则a变0; 循环结束条件满足了。
答案是 A, 0,14,3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询