求大佬解惑
为什么这段代码里面factorial函数里printf会影响s的值,求大佬解决
#include<stdio.h> int factorial(int n){ int k=1; if(n==1) { printf("hha%d %d\n",k,n); return k; } else k=n*factorial(n-1); printf("%d %d\n",k,n); } int main(){ int n,s=0; scanf("%d",&n); for( ;n>0;n--){ printf("%d!=%d\n",n,factorial(n)); s=s+factorial(n); printf("!%d\n",s); } return 0; }