我写的一个小递归函数:
#include <stdio.h>
int main ()
{
int jie(int n);
int n;
int sum;
scanf("%d\n",&n);
sum=jie(n);
printf("sum=%d",sum);
for (int i=0;i<10;i++)
getchar();
return 0;
}
int jie(int n)
{
int s;
if (n==1)
s=1;
else
s=jie(n-1)*n;
return s;
}
如果是上面的那样的话,输入一个整数后,不能一下子出现结果,
要继续输入一个数之后结果才会显现,但是如果去掉那个“%d\n”中的“\n”后,结果就能一下子出来,请问这是为什么呢???
我用的是DEV c++
恩,是啊,
如果是下面的代码:
#include
int main ()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf ("%d\n%d\n%d\n",a,b,c);
for(;1;)
getchar();
return 0;
}
就是最后直接按回车键就会输出结果,但是如果是下面的:
scanf("%d\n%d\n%d\n",&a,&b,&c);
最后就一定要加一个数才会输出结果啊,只是按回车键没反应的啊,就是光标移到下一行而已。