大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
因为函数原型是void f(int, int *);
专注于为中小企业提供做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业寿县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
第一个参数是int型,第二个函数是指向int的指针
所以只有D选项f(*p, a);正确
#includestdio.h
int fac(int x)
{
if(x==1) return 1;
else return fac(x-1)*x;
}
int main()
{
int n;
scanf("%d",n);
printf("%d\n",fac(n));
return 0;
}
#include stdio.h
int myfac_n (int n ) ;//此处是;叫做函数声明,要定义的话直接用大括号,具体看你课本这些不用我说了吧
s的值未初始化为1
for (i=1 ; i=n ; i++ )
{
s=s*(i+1);//此处i不需要+1,如果这样的话,i不能=n才可以
}
return s ;
void main()
{
int x , ans ;
scanf ("%d" ,x ) ;//这个问题时初学者很容易犯的毛病,就是输入的时候忘记取地址,一定记住输入是往地址中存放东西,所以x前面一定要有,或者后面学到指针时,可以用指针也可。
ans = myfac_n( x ) ;
printf ("%d" , ans ) ;
}
别的暂时没有了,你初学吧,好好努力吧,下面是我给你修改过的,以后还是自己查程序吧,提高的块些!
修改后的:
#include stdio.h
int myfac_n (int n )
{
int s = 1 , i ;
for (i=1 ; i=n ; i++ )
{
s=s*i;
}
return s ;
}
void main()
{
int x , ans ;
scanf ("%d" ,x ) ;
ans = myfac_n( x ) ;
printf ("%d" , ans ) ;
getchar();
}
int get_int(void)
{
int num;
char str[40];
while(scanf("%d",num)!=1)//当输入不是整数时
{
gets(str);//清空缓存区
printf("error!%s is not a number.input again.\n");
}
while (getchar()!='\n')
continue;//跳过输入行的剩余部分
return num;//返回输入的整数
}