c语言for循环无法正常执行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言for循环无法正常执行?相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
int main()

int a=1,b=1;
for(b=b+1;b<=12;b=b)
a=a*b;
printf("sum=%d",a);


运行之后没有输出sum只有一个光标在跳动。是什么原因导致的for循环不正确呢?

你没有搞清楚for循环的结构,所以你的for循环写错了
for(初始化;循环条件;循环增量)
很明显你把第一个初始化和最后的增量弄反了,这就导致了你的循环是个永不退出的死循环了。
换成for(b=b;b<=12;b=b+1)就可以了。
参考技术A for循环陷入死循环了,b的值一直是2,满足b<=12,一直在循环执行a=a*b。
for(x;y;z);...,for循环没学明白,
x是初始化表达式,只在第一次进入for循环时执行一次;
y是条件表达式,每次进入for循环都要判断条件是否为真,是就执行循环体内的语句;
z是步进,每次执行完后执行z语句进行步进,然后进入下一次for循环。
参考技术B for(b=b+1;b<=12;b=b)
这个循环写成while形式是这样的:
b = b + 1
while(b <= 12)

b = b;
a = a*b;

这样,b的值一直是2,b <= 12一直为true,循环不会退出。
循环没有退出,死循环了本回答被提问者采纳
参考技术C 你好,你这个可能是c语言for循环的逻辑不正确,你可以看看for语句里面的条件,你这好像是个死循环。

以上是关于c语言for循环无法正常执行?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中for的双循环怎么用

C语言for的双重循环

C语言中for循环怎么理解?

C语言for循环嵌套延时问题

c语言里面,我for语句的循环跨度如果想是0.5应该怎么打呢,平时就是1++那么1+=0.5为啥

c语言一个死循环中为啥执行完一个功能函数就退出了?