Board logo

标题: 刚发现一个很吃惊的问题: [打印本页]

作者: bush     时间: 2004-6-3 00:00    标题: 刚发现一个很吃惊的问题:

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


作者: Loff     时间: 2004-6-4 00:00
我的蛮好的啊,是1。
作者: bush     时间: 2004-6-7 00:00
确实是0。

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


哭笑不得