C语言中临时数据存放的问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 20:39:02
main()
{
int a;
printf("%d",(a=3*5,a*4),a+5);
}
我想问的是当编译系统运行到a*4时,a*4存放于何处?是寄存器吗?如果是寄存器,寄存器的地址该如何确定?
能否再详细一点

只知道在C语言里面,对于a*4只进行计算却不去赋值的表达式运算完以后就不管了,不知道会存在什么地方。不过C语言好像没有寄存器,我想即使是有寄存器估计地址每次也都是不一样的。

程序运行的时候有一个堆栈,各类数据都是存放在堆栈里(有些是堆,有些是栈,不一样),如果你把这个程序反汇编成汇编代码你就明白了。一般是放在AX或者其他寄存器里的。