c++ - 这个程序的输出是什么?

标签 c++ c linux unix

当我尝试在一个简单的 c 文件中运行编译并执行此语句时:

main(){ printf("%d");}

在 HP 上是 64,在 AIX 上是 804359524。

谁能告诉我这是什么行为。

最佳答案

我假设你的意思是:

int main()
{
  printf("%d");
}

在这种情况下,printf() 正在从堆栈中读取一个 int(按照格式说明符 %d 的指示)。由于您没有指定一个,它只是读取堆栈中的任何内容并使用它。因此,您看到的是伪随机输出。

相反,尝试:

int main()
{
  printf("%d", 10101);
}

HTH

关于c++ - 这个程序的输出是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530654/

相关文章:

c++ - 在 C++ 中读取包含 é 等特殊字符的 ISO-8859 类型文件

c++ - 在 CLion 中调试时如何切换到 cmd/powershell?

c - 使用struct和strcpy,程序崩溃

linux - 除了 pthread_create 之外,还有其他方法可以将工作分配给同一个线程吗?

c++ - 使用 libcurl 通过 HTTP 从内存(而不是磁盘)发送文件

c++ - 使用 CUDA 和 C++ 运行现有项目

c++ - 与 nvidia 链接的 gcc 版本错误

c - 使用 C 中的 allegro 库制作射弹射击

linux - 删除以下行的 Sed 模式

我们可以在 make 中运行一个 python 脚本来生成一些 .c 和 .h 文件,然后构建一个镜像吗?