| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1028 人关注过本帖
标题:[求助]关于SCANF的一个费解的问题.
取消只看楼主 加入收藏
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
 问题点数:0 回复次数:6 
[求助]关于SCANF的一个费解的问题.

两段程序,大家可以复制下去执行一下:
程序一:
#include"stdio.h"
void main()
{ char a,b;
scanf("%c",&a);

while(a!='/')
{
printf("%c",a);
scanf("%c",&a);
}

getchar();
getchar();

}
程序二:
#include"stdio.h"
void main()
{ char a,b;
scanf("%c",&a);

while(a!='/')
{
printf("%c",a);

}

getchar();
getchar();

}
需要注意的是:转换字符为%c.单个字符.现在问题就出来了:
先执行程序二,如果执行时输入一个字符串,如ABCDF,则输出时只不停地输出A.后面的则不输出.这个好理解
但在程序一中,执行时,却能正常执行,即如果输入字符串ABCDF,则输出时能输出ABCDF.请问这是为什么呢?
请知道的给出详细的解答.谢谢.

搜索更多相关主题的帖子: SCANF 
2007-10-18 09:54
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 
感谢.你说的逻辑我是清楚.但我不明白的是,进入WHILE循环以后,scanf函数是怎么样读入数据的?我想知道的是读入数据的具体过程,因为此前我并不知道scanf函数可以这么用.
盼回复..
谢谢

不好意思我只是想明白真相
2007-10-18 10:32
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 

这么看来,scanf 的作用应该就是将输入流中的字符按照转换字符的要求给读出来,比如%c就是将字符一个挨着一个读出来.
我的理解就是这样,不知道是不是准确的?


不好意思我只是想明白真相
2007-10-18 11:02
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 
谢谢谢谢
以后还请多多指教.

不好意思我只是想明白真相
2007-10-18 11:20
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 

读取字符的取决于转换格式符:
如scanf("%s",a);则是将输入的整串字符都读取.
如scanf("%c",a).则读取的是单个字符.


不好意思我只是想明白真相
2007-10-18 13:25
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 

请问能将gets()和puts()的实现原理讲下么?


不好意思我只是想明白真相
2007-10-18 17:28
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 

那跟scanf有什么区别?


不好意思我只是想明白真相
2007-10-19 09:04
快速回复:[求助]关于SCANF的一个费解的问题.
数据加载中...
 
   



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

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