中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 刚发现一个很吃惊的问题: 上一主题 | 下一主题
bush
银牌会员




积分 2165
发帖 730
注册 2004-4-21
状态 离线
『楼 主』:  刚发现一个很吃惊的问题:

在DJGPP中下面程序输出竟然是0
int main()
{
unsigned short k=1,n;
scanf("%d",&n);
printf("%d\n",k);
return 0;
}



2004-6-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Loff
中级用户




积分 286
发帖 59
注册 2003-4-8
状态 离线
『第 2 楼』:  

我的蛮好的啊,是1。

2004-6-4 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bush
银牌会员




积分 2165
发帖 730
注册 2004-4-21
状态 离线
『第 3 楼』:  

确实是0。

原来是unsigned short k=1,n;变量n比 k先分配空间,在低位,
而scanf("%d",&n);类型不匹配,%d是32位的,就占了k的位置,结果就成了 k值是实际上的n值的高位值。


哭笑不得

2004-6-7 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: