程序有点小问题,可能又是scanf函数的问题
本帖最后由 Anny黄 于 2015-5-31 11:21 编辑该代码是要实现用户输入数值的次方后进行阶乘。
如代码所示。不是应该输入2个值吗,为什么他要我输入3个值才会进行下一步运算。但是算出来后的结果是第一个数和第二个数的结果。第三个数都没有用到,单步调试也找不到那个数用在什么地方了。直接上代码:#include<stdio.h>
void main()
{
int power(int a ,int b);
int factorial(int pwoer );
int a,b,c,d;
scanf("%d,%d\n",&c,&d);
a=factorial(b=power(c,d));
printf("%d\n",a);
}
int power(int a,int b)
{
int q,w;
w=a;
for(q=1;q<b;q++)
{
w=w*a;
}
return(w);
}
int factorial(int power )
{
int p;
p=power;
for(;p>1;p--)
{
power=power*p;
}
return(power);
}
scanf("%d,%d\n",&c,&d);
把这句 修改成
scanf("%d,%d",&c,&d); 这样就好 scanf一般不要写多余的符号进去
{:9_240:} 小人 发表于 2015-5-31 11:31
scanf("%d,%d\n",&c,&d);
把这句 修改成
scanf("%d,%d",&c,&d); 这样就好 scanf一般不要写 ...
{:9_240:}
真的是这样,请问为什么不能加空格呢。加空格的话为什么会再让我输入个数字,但是那个数字又用不到,何解呢! Anny黄 发表于 2015-5-31 11:52
真的是这样,请问为什么不能加空格呢。加空格的话为什么会再让我输入个数字,但是那个数字又 ...
/n 是换行 {:9_240:}
你可以scanf("%d %d",&c,&d);这样就是空格
页:
[1]