C语言两个int数相乘,但乘的结果没有赋值给变量,是什么类型, 存在哪个空间

2025-03-28 19:52:44
推荐回答(5个)
回答1:

应该自动分配临时变量存储,不会存到 &b中,b变量不会发生变化,当中间过程已经超过数据定义的范围时就有可能出现错误。

回答2:

C没赋值系统会默认为0,这道题运行的时候应该会报错吧!如果C为任意一正整数,那么输出来的就是int类型。

回答3:

一般来说应该是在 寄存器中,你可以编译运行时打开
debug->window->disasmbly (我的是vs2005,其他开发环境不一定是这样打开汇编窗口)来看看生成的汇编代码。

回答4:

这种问题太2了,你要追究这个问题就有点复杂的,零时变量在寄存器里面的,EAX作为累加器,EBX,ECX,EDX,所以不需要去研究了

回答5:

32位机,eax 4个字节。
cpu从栈中取得b的值 ,送到ALU ,让它和1000相乘。你这个数据还没超过表示范围。 你把b的值 赋为100000000 再去试试。