首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

问个scanf的有关问题 头弄的比较大

2012-04-06 
问个scanf的问题 头弄的比较大程序1:void main(){char ascanf(%d,&a)//这里是%dprintf(%d,a)}//

问个scanf的问题 头弄的比较大
程序1:
void main()
{
 char a;
 scanf("%d",&a);//这里是"%d"
printf("%d",a);
}
//注释:这里明显缓冲区里留有一个字符:是回车符,0AH.
程序2:void main()
{
 char a;
 char b;
 scanf("%d",&a);//这里是"%d"
 scanf("%d",&b);
printf("%d %d",a,b);
}
问题:为什么这个程序缓存区只有一个回车字符,我觉得应该有两个,第一个回车字符去哪里了?

[解决办法]
你从哪看到有两个回车符了?第二次输入的时候前一次的缓冲被清除了。
[解决办法]
命令行的输入是行缓冲!回车符只是一个缓冲送出的标志~!
[解决办法]
?? 楼主说的是什么意思,程序运行时,你输入什么呀
第一个,我输入的是:1Enter,输出的也是:1
第二个,我输入的是:1Enter1Enter,输出的也是:01
要是说到缓冲区,我就不明白了,等待高手赐教
[解决办法]
支持楼上的
[解决办法]
是二楼的
[解决办法]
学习学习
[解决办法]
而第二个程序的第二个scanf在输入后 缓冲区仍存在回车字符?
who say it~!
[解决办法]
回车 表示将输入缓冲区中的数据送入内存 不算作输入字符
[解决办法]
围观。
[解决办法]

探讨
程序1:
void main()
{
char a;
scanf("%d",&a);//这里是"%d"
printf("%d",a);
}
//注释:这里明显缓冲区里留有一个字符:是回车符,0AH.
程序2:void main()
{
char a;
char b;
scanf("%d",&a);//这里是"%d"
scanf("%d",&am……

[解决办法]
White-space characters: blank (' '); tab ('\t'); or newline ('\n'). A white-space character causes scanf to read, but not store, all consecutive white-space characters in the input up to the next non–white-space character. One white-space character in the format matches any number (including 0) and combination of white-space characters in the input.

[解决办法]
前段时间c版有个讲这个的帖子很详细,楼主自己去搜下
[解决办法]
学习学习!!! 谁给个正解 详细点……

热点排行