标题:关于scanf的问题,输入一个字符 然后输出 为什么我这种编法不能达到目的?
取消只看楼主
sweetrryy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-1
 问题点数:0 回复次数:1 
关于scanf的问题,输入一个字符 然后输出 为什么我这种编法不能达到目的?
1 #include "stdio.h"
2 main()
3 {
4  int a;
5  printf("please input the data:");
6  scanf("%d\n",&a);
7  printf("%d",a);
8  
9 }
编译运行后
please input the data: 输入6 回车 无返回结果 再输入一个3 返回 结果6
但当将\n去掉后 一切正常 是不是因为%d 是输入变量a中的 后面类个转义就多余了?
但将第6行 改成scanf("%d%d",&a);输出结果变成 输入6 回车 无返回结果 再输入一个3 返回结果:
6
Null pointer assignment
想了半天 百思不得其解 我猜测是不是与scanf的输入格式有关(有可能是我看书不认真~呵呵 别骂我啊~ ) 请知道的人指点一下 谢谢!
搜索更多相关主题的帖子: printf scanf 字符 输出 
2008-10-01 17:47
sweetrryy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-1
得分:0 
[bo][un]守鹤[/un] 在 2008-10-1 18:43 的发言:[/bo]

若是scanf("%d%d",&a);且输入完了一个数据,程序会等待用户输入下一个数据,至于下一个数据存放的位置,系统会随机给予空间。
scanf("%d",&a,&b);则只需输入一个数据,b不做任何处理

哦 我明白了 是不是由于scanf在输入两个数据时 必须用回车或空格间隔  所以在多一个转义符或数据的情况下需要多按一次回车才有结果~
谢谢各位热心人了~~
谢谢谢谢!
2008-10-02 11:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-236022-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.602742 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved