You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:这段C语言代码是否存在未定义行为?

这段代码不存在未定义行为

这段代码里并没有出现读取未初始化变量的操作,因此不存在未定义行为:

  • 我们只是获取了未初始化变量val的地址并传递给函数foo,随后通过指针完成对val的赋值。
  • 自动变量的地址是合法有效的,通过指针对其进行写入操作完全符合C语言标准,不属于未定义行为范畴。

对应的代码如下:

#include <stdio.h>

void foo(int *a)
{
    *a = 1;
}

int main()
{
    int val;
    foo(&val);
    return 0;
}

内容的提问来源于stack exchange,提问作者bekici

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:34:51