我正在尝试这个C程序.
add (int a , int b)
{ // Do nothing
}
void main()
{
printf("%x\n", add(1,1));
printf("%x\n", add(1,1));
}
Run Code Online (Sandbox Code Playgroud)
GCC给出如下输出:输出:1 2
有人可以解释为什么要打印这些值.即使我认为它是垃圾,1和2的序列对我来说也很困惑.
这是未定义的行为.尝试使用不同的编译器运行程序,您将获得不同的值.
尝试使用基于某些输入使用不同堆栈变量的函数.随着变量堆栈的改变,您将得到不同的值.
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |