首页 新闻 会员 周边

【C语言】程序中只有一个scanf,为什么要进行两次输入?

0
[已解决问题] 解决于 2017-04-09 09:52

#include<stdio.h>
int main()
{
  int i,N,a[51];
  a[0]=0;
  a[1]=1;
  for(i=2;i<=50;i++)
  {
    a[i]=a[i-1]+a[i-2];
  }
  scanf("%d\n",&N);
  if(N>=0&&N<=50)
  {
    printf("%d\n",a[N]);
  }
  return 0;
}

问题补充:

菜鸟一枚,刚刚接触,敬请各位大神,不吝赐教。

未负侠义的主页 未负侠义 | 菜鸟二级 | 园豆:204
提问于:2017-04-09 08:41
< >
分享
最佳答案
0

scanf("%d\n",&N); ==> scanf("%d",&N);

把\n(回车去掉). 先自己思考一下.

奖励园豆:5
[0] | 小虾三级 |园豆:1257 | 2017-04-09 09:34

谢谢您,scanf()函数以按空格键和回车键作为字符串输入结束标志。【微笑】

未负侠义 | 园豆:204 (菜鸟二级) | 2017-04-09 09:52

@未负侠义: 恩, 目前这样理解就可以了. 随后, 随着知识的积累和学习的深入, 可以深入理解这部分内容.

[0] | 园豆:1257 (小虾三级) | 2017-04-09 16:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册