鱼C论坛

 找回密码
 立即注册
查看: 1315|回复: 3

程序有点小问题,可能又是scanf函数的问题

[复制链接]
发表于 2015-5-31 11:15:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Anny黄 于 2015-5-31 11:21 编辑

该代码是要实现用户输入数值的次方后进行阶乘。
如代码所示。不是应该输入2个值吗,为什么他要我输入3个值才会进行下一步运算。但是算出来后的结果是第一个数和第二个数的结果。第三个数都没有用到,单步调试也找不到那个数用在什么地方了。直接上代码:
  1. #include<stdio.h>
  2. void main()
  3. {        
  4.         int power(int a ,int b);
  5.         int factorial(int pwoer );
  6.                 int a,b,c,d;
  7.                 scanf("%d,%d\n",&c,&d);
  8.                 a=factorial(b=power(c,d));
  9.                 printf("%d\n",a);
  10. }
  11. int power(int a,int b)
  12. {
  13.         int q,w;
  14.         w=a;
  15.         for(q=1;q<b;q++)
  16.         {
  17.                 w=w*a;
  18.         }
  19.         return(w);
  20. }
  21. int factorial(int power )
  22. {
  23.         int p;
  24.         p=power;
  25.         for(;p>1;p--)
  26.                 {
  27.                         power=power*p;
  28.                 }
  29.                 return(power);
  30. }
复制代码


25(3E[$V{0`QF($HUH3Z@VI.jpg

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-5-31 11:31:47 | 显示全部楼层
scanf("%d,%d\n",&c,&d);   
把这句 修改成
scanf("%d,%d",&c,&d);     这样就好    scanf  一般不要写多余的符号进去
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-31 11:52:48 | 显示全部楼层
小人 发表于 2015-5-31 11:31
scanf("%d,%d\n",&c,&d);   
把这句 修改成
scanf("%d,%d",&c,&d);     这样就好    scanf  一般不要写 ...


真的是这样,请问为什么不能加空格呢。加空格的话为什么会再让我输入个数字,但是那个数字又用不到,何解呢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-31 11:57:36 | 显示全部楼层
Anny黄 发表于 2015-5-31 11:52
真的是这样,请问为什么不能加空格呢。加空格的话为什么会再让我输入个数字,但是那个数字又 ...

/n 是换行      
你可以scanf("%d %d",&c,&d);  这样就是空格
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-20 03:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表