| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1135 人关注过本帖
标题:怎么输入short变量值?
只看楼主 加入收藏
min364000
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-1-7
收藏
 问题点数:0 回复次数:6 
怎么输入short变量值?
short a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d); 假设从键盘输入:1,2,3,4。用dev编译输出:a=0 b=0 c=0 d=4;用vc2008编译输出为:a=1 b=2 c=3 d=4,但是程序报错,有BUG。请问对短整形变量赋值scanf内应该用什么格式啊?%h、%hd都不行。
搜索更多相关主题的帖子: short 变量 输入 
2009-08-11 19:49
min364000
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-1-7
收藏
得分:0 
都没人知道用什么格式吗
2009-08-11 21:25
min364000
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-1-7
收藏
得分:0 
都没人知道用什么格式吗
2009-08-11 21:26
soky
Rank: 4
等 级:业余侠客
帖 子:126
专家分:228
注 册:2009-7-13
收藏
得分:0 
现在都用int,干嘛抓着short不放呢,现在计算机没过去那么差了
2009-08-11 23:06
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 楼主 min364000


        %hd 是正确的,我在 gcc  中编译通过,并运行正常。
2009-08-11 23:16
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
按C标应该是%hd.

早期VC版本里面不太严谨,%d也行,关键在输入。

按scanf的定义:它忽略格式串中的空白符,所以你的各项输入之间必须是空白符(空格、制表符、回车、tab等)。
用‘,’做输入分割不行。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-08-12 00:02
min364000
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-1-7
收藏
得分:0 
谢谢楼上两位,刚才重新写了一遍测试,发现是用%hd。前面测试有bug可能是写hd马虎写错导致出问题的吧。
2009-08-12 21:44
快速回复:怎么输入short变量值?
数据加载中...
 
   



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

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