应该自动分配临时变量存储,不会存到 &b中,b变量不会发生变化,当中间过程已经超过数据定义的范围时就有可能出现错误。
C没赋值系统会默认为0,这道题运行的时候应该会报错吧!如果C为任意一正整数,那么输出来的就是int类型。
一般来说应该是在 寄存器中,你可以编译运行时打开
debug->window->disasmbly (我的是vs2005,其他开发环境不一定是这样打开汇编窗口)来看看生成的汇编代码。
这种问题太2了,你要追究这个问题就有点复杂的,零时变量在寄存器里面的,EAX作为累加器,EBX,ECX,EDX,所以不需要去研究了
32位机,eax 4个字节。
cpu从栈中取得b的值 ,送到ALU ,让它和1000相乘。你这个数据还没超过表示范围。 你把b的值 赋为100000000 再去试试。