2 sinat 27590807 sinat_27590807 于 2015.07.02 17:14 提问

scanf 中怎么忽略自己已经输入字符

如scanf("%d(%d)",&a,&b);
但是在读入时,b的值是‘(’的ASCII码!!!
但是我看一些代码就是这样写的,为什么自己运行就出错?

3个回答

u012736907
u012736907   2015.07.02 17:17

scanf("%d%d",&a,&b);这样的吧??!!!

sinat_27590807
sinat_27590807 因为给出的数据中有<>
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2015.07.02 17:19
 输入的时候这样:2(3)    这样a就等于2,b等于3
danielinbiti
danielinbiti 回复sinat_27590807: 我是拿vs环境试的
2 年多之前 回复
sinat_27590807
sinat_27590807 回复danielinbiti: 用Dev c++就不行啊
2 年多之前 回复
danielinbiti
danielinbiti 回复sinat_27590807: 可以呀,你2<3>4。不过1234567890123456这个值太大,a估计接收不了
2 年多之前 回复
sinat_27590807
sinat_27590807 回复danielinbiti: 但是我用scanf("%d<%d>%d",&a,&b,&c) 为什么不可以?
2 年多之前 回复
danielinbiti
danielinbiti 回复sinat_27590807: a=1234567890123456<10>2?如果a是这个数字,那到<就截断了,b就等于<了
2 年多之前 回复
sinat_27590807
sinat_27590807 额,1234567890123456<10>2这个是输入的数据
2 年多之前 回复
danielinbiti
danielinbiti 回复sinat_27590807: 怎么会是<呢,没有输入这个字符怎么会出来呢
2 年多之前 回复
sinat_27590807
sinat_27590807 就是这样输的,但读入时就成了b=‘<'
2 年多之前 回复
bullzerone
bullzerone   2015.07.02 18:26

scanf("%d",&a);scanf()函数参数的前面“%d”是格式控制符,决定你从键盘读入数据的类型。不要出现一些其他的字符

Csdn user default icon
上传中...
上传图片
插入图片