当我试图在一个简单的c文件中运行编译并执行此语句时:
main(){ printf("%d");}
Run Code Online (Sandbox Code Playgroud)
在HP上,它给了我64,在AIX上它给了我804359524.
谁能告诉我这是什么行为.
dcw*_*dcw 21
我猜你的意思是:
int main()
{
printf("%d");
}
Run Code Online (Sandbox Code Playgroud)
既然如此,printf()正在从堆栈中读取一个int(由格式说明符%d指示).由于你没有指定一个,它只是读取堆栈中的任何内容并使用它.因此,您看到伪随机输出.
相反,尝试:
int main()
{
printf("%d", 10101);
}
Run Code Online (Sandbox Code Playgroud)
HTH