#include<stdio.h>
void main(){int a,b,c;printf("\n请输入一个整数:");scanf("%d",&a);c=a;for(b=a;b>=1;b=b-1){c=b*c;}printf("%d\n",c);}
/*看了半天看不出哪里错了*/
先举一个例子 输入3c=3;b=3;c=3*3;c=2*c;所以是 18
void main(){int a,b,c;printf("\n请输入一个整数:");scanf("%d",&a);c=a; //c=1;for(b=a;b>=1;b=b-1){c=b*c;}printf("%d\n",c);}
void main(){int a,b,c;printf("\n请输入一个整数:");scanf("%d",&a);c=a;for(b=a-1;b>=1;b=b-1){c=b*c;}printf("%d\n",c);}
她已经有循环,而递归并不是每个人都明
将c=a,改为c=1,就可以了。
void main(){int a,b,c;printf("\n请输入一个整数:");scanf("%d",&a);c=a;for(b=a;b>=1;b=b-1) //这个地方 B的计算应该从A-1 开始否则A会计算两次{c=b*c;}printf("%d\n",c);}
整个程序会溢出