首页上一页 1 下一页尾页 2 条记录 1/1页
你好:
主函数的前4句应该理解吧,从if开始讲:
(1)利用scanf函数输入一个数,如果输入的数大于等于0 ,那么进入if下面的语句块(也就是计算阶乘),定义fac是用来存储计算阶乘的结果,fac初始值为1,(如果为0,那么0乘以任何数都等于0,计算结果就会为0)
(2)再次判断输入的值是否大于0,如果大于0,就进入循环语句(例如输入n=3)i=1.n=3成立,进入fac*=i(fac=1*1=1),i+1=1+1=2,
(3)2<=3成立,再次执行fac*=i(fac=1*2),i+1=3,
(4)3<=3成立,再次执行fac*=i(fac=1*2*3)i+1=4,
(5)4<=3不成立,跳出循环.那么3的阶乘就是1*2*3=6;最后用printf输出
(6)最后一句printf语句是与第一个if语句配对的
李木子 发表于2018-04-12 11:37
你好:
主函数的前4句应该理解吧,从if开始讲:
(1)利用scanf函数输入一个数,如果输入的数大于等于0 ,那么进入if下面的语句块(也就是计算阶乘),定义fac是用来存储计算阶乘的结果,fac初始值为1,(如果为0,那么0乘以任何数都等于0,计算结果就会为0)
(2)再次判断输入的值是否大于0,如果大于0,就进入循环语句(例如输入n=3)i=1.n=3成立,进入fac*=i(fac=1*1=1),i+1=1+1=2,
(3)2<=3成立,再次执行fac*=i(fac=1*2),i+1=3,
(4)3<=3成立,再次执行fac*=i(fac=1*2*3)i+1=4,
(5)4<=3不成立,跳出循环.那么3的阶乘就是1*2*3=6;最后用printf输出
(6)最后一句printf语句是与第一个if语句配对的