标题:★★来看看scanf("%d%d\n",&a,&b);
只看楼主
luceker
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-5-5
得分:0 
[bo][un]独孤小梦[/un] 在 2008-7-9 00:57 的发言:[/bo]

我编译过了,输入两个数学以后,接着还得在输入1个数!但是为什么只是输入1个数呢?而不是在输入一次呢?

 的确是这样啊

以前光知道这样不太正常,也没想别的..
2008-07-09 17:23
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
当你成为程序`程序成为你``也就是你和程序合为一体的时候```

这个问题就你就知道了```

这个境界太高了````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-07-09 17:42
ospf
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-7-9
得分:0 
[bo][un]woshiyun[/un] 在 2008-7-9 09:59 的发言:[/bo]

用换行符结尾时,scanf会跳过换行符去读下一个字符,所以必须再输入一个数才能退出这个scanf()函数

这是C标准明确规定的还是编译器自己这样实现的啊?
2008-07-09 23:38
flysky2011++
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-11-30
得分:0 
这个我知道,举个例子你就明白了:
#include<stdio.h>
void main()
{
  int a,b;
  char ch;
  scanf("%d%d",a,b);
  ch=getchar();
  printf("%d,%d,%c",a,b,ch);
}

当你输入1 2[回车]时
直接就会输出1,2
即ch=getchar();没被运行.
如果scanf("%d%d",a,b);变成scanf("%d%d\n",a,b);
则可以运行,既输完1 2[回车]后还可以输入一个任意字符,并且也能输出。
这涉及到scanf()的用法,我建议你看看这个函数的用法!

天空没有翅膀的痕迹,但我已飞过!
2008-07-10 03:37
flysky2011++
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-11-30
得分:0 
不好意思scanf("%d%d",a,b);应该是scanf("%d%d",&a,&b);
打错了!

天空没有翅膀的痕迹,但我已飞过!
2008-07-10 03:38
hummhumm
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-5-14
得分:0 
仔细看看书,会发现很多

[[it] 本帖最后由 hummhumm 于 2008-7-10 06:56 编辑 [/it]]
2008-07-10 06:54
hummhumm
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-5-14
得分:0 
[bo][un]♂鏴亻鉀}[/un] 在 2008-7-1 15:07 的发言:[/bo]

呵呵,这个,就是你编译以后的,a和b以后的输出内容将在下行显示
转义字符:
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(V ...

说得不错哦
2008-07-10 06:55
ospf
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-7-9
得分:0 
[bo][un]flysky2011++[/un] 在 2008-7-10 03:37 的发言:[/bo]

这个我知道,举个例子你就明白了:
#include
void main()
{
  int a,b;
  char ch;
  scanf("%d%d",a,b);
  ch=getchar();
  printf("%d,%d,%c",a,b,ch);
}

当你输入1 2[回车]时
直接就会输出1,2
即 ...

不是ch=getchar()没有运行,实际上ch='\n',打印出来当然是空白罗。
还是不明白scanf末尾为什么带和不带'\n'有这么大区别!
2008-07-10 23:49
ospf
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-7-9
得分:0 
ding yi ge
2008-07-11 20:15



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




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

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