c语言中for循环的问题 for循环好难

img


想问下为什么要定义个i=n呢 还有为什么第二个红色那里的i是变量 而第三个最后输出那里的i却是一个定值n呢,而且n也在变啊 给我整懵了

你算阶乘,比如4=432*1,那么循环次数就是n,fact *=i; 意思是 fact = fact * i ; 所以 i 当然是一个定值!

i就是把n的值保存下来,因为后面n会变化,n的原始值就丢失了,所以要提前保存下来。
看你的程序应该是算n的n次方。运算过程中i没有变化,所以最后i打印出来是原始值