中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 13:37
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 刚发现一个很吃惊的问题:
可打印版本  867 / 2
第1楼 bush 发表于 2004-06-03 00:00
银牌会员 发帖 730 积分 2,165
刚发现一个很吃惊的问题:
在DJGPP中下面程序输出竟然是0
int main()
{
unsigned short k=1,n;
scanf("%d",&n);
printf("%d\n",k);
return 0;
}

第2楼 Loff 发表于 2004-06-04 00:00
中级用户 发帖 59 积分 286
我的蛮好的啊,是1。
第3楼 bush 发表于 2004-06-07 00:00
银牌会员 发帖 730 积分 2,165
确实是0。

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


哭笑不得
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023