gpt4 book ai didi

c - 当我告诉 printf 打印变量时会发生什么?

转载 作者:行者123 更新时间:2023-11-30 20:48:42 24 4
gpt4 key购买 nike

当我运行以下代码(在 Eclipse 上)时,我收到一条弹出消息,指出 .exe 已停止工作:

    #include <stdio.h>

main ()
{
int x;
x = 1;

printf(x);
}

我知道我应该按如下方式对其进行编码才能使其运行:

printf("%d", x);

但是,我的问题只是当我用以前的方式编码时“那里”发生了什么。

最佳答案

printf() 第一个参数是一个字符串。

在 C 中,值“1”被压入堆栈以调用 printf。 printf 需要一个字符串,因此它开始将 1 视为地址。

这会导致“停止工作”——当它尝试查看地址 1 处的字符时。

关于c - 当我告诉 printf 打印变量时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33721203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com