免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2128 | 回复: 18
打印 上一主题 下一主题

一个简单但烦人的问题??(关于scanf)在线 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-15 18:34 |只看该作者 |倒序浏览
原代码:
#include <stdio.h>;

main()
{
   long a;
   long b;
   char c;

   puts("please input a:";
   scanf("%ld",&a);
   puts("please input b:";
   scanf("%ld",&b);
   printf("the first print b:%ld",b);
   puts("please input c:";
   scanf("%s",&c);
   printf("the second printf b:%ld",b);
}
编译环境:redhat 9,gcc
问题:第一次打印B的值和第二次打印不一样。why??如果去掉
scanf("%s",&c);一行,两次打印的结果一样。

论坛徽章:
0
2 [报告]
发表于 2004-06-15 18:53 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

大家试一下吗??给点面子,问题解决了。我就可回家了。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2004-06-15 19:11 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

c 是 char 型,所以输入的时候应该用 %c,而不是 %s。

论坛徽章:
0
4 [报告]
发表于 2004-06-15 19:24 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

呵呵,是不是粗心造成的喔!

论坛徽章:
0
5 [报告]
发表于 2004-06-16 08:25 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

[quote]原帖由 "flw"]c 是 char 型,所以输入的时候应该用 %c,而不是 %s。[/quote 发表:

不是,如果用%c,则根本不提示输入C,而直接跳过。

论坛徽章:
0
6 [报告]
发表于 2004-06-16 08:53 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

vc下没事,估计和scanf 的调用有关,估计只能用整形,或4个字节的数组了。然后再作转化。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-06-16 09:36 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

原帖由 "icywind" 发表:

不是,如果用%c,则根本不提示输入C,而直接跳过。

你应该把此前缓冲区的回车符去掉。
man fflush

论坛徽章:
0
8 [报告]
发表于 2004-06-16 09:57 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

原帖由 "lenovo" 发表:

你应该把此前缓冲区的回车符去掉。
man fflush


不太明白,能说具体点吗?

论坛徽章:
0
9 [报告]
发表于 2004-06-16 09:58 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

可以把c定义成字符串,就可以了吧,至少VC下没有问题

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2004-06-16 10:54 |只看该作者

一个简单但烦人的问题??(关于scanf)在线

[quote]原帖由 "icywind"] 不是,如果用%c,则根本不提示输入C,而直接跳过。[/quote 发表:

人家问的是 B 的值为什么两次会不一样。
我就告诉他这么做,这么做就好了。
用 %s 会溢出,所以有可能会影响到 B 的值。
用 %c 则不会,至于 C 的值是不是正确,
那是另一个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP