c - 这在内存/编译中会发生什么?

标签 c memory stack printf

代码:

#include <stdio.h>

int main(int argc, char *argv[])
{
    //what happens?
    10*10;

    //what happens?
    printf("%d", 10*10);   

    return 0;
}

这两行在内存/编译中发生了什么。它被存储了吗? (10*10)

最佳答案

声明

10*10;

没有效果。编译器可以选择根本不为该语句生成任何代码。另一方面,

printf("%d", 10*10);

10*10 的结果传递给 printf 函数,该函数将结果 (100) 打印到标准输出。

关于c - 这在内存/编译中会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23051468/

相关文章:

c - 堆栈中变量的顺序 (GCC)

c++ - 如何在 C++ 应用程序中重现 "Stack smashing detected"

c - 初始化结构时发生访问冲突

循环双向链表,打印函数

c - 动态内存访问仅在函数内部有效

c# - 谓词不释放内存的地方

algorithm - 大数据大小的缓存抖动效应降低

memory - sun.misc.Unsafe : How to get the Bytes from an address

c - sprintf 的奇怪工作

c# - C Server 和 C# Server 之间的通信仅发送 "p"字符