未定义行为 问答列表

为什么这些构造使用增量前和增量后的未定义行为?

作者:PiX 提问时间:6/4/2009

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; ...

为整数类型分配无限值是否具有未定义的行为?

作者:chqrlie 提问时间:10/29/2023

C 标准规定了有限浮点值在存储为整数类型时如何转换它们,但它似乎没有指定非有限值的行为: 6.3.1.4 实浮点数和整数 1 当标准浮点型的有限值转换为 以外的整数类型时,小数部分将被丢弃(即,该...

为什么这些构造使用增量前和增量后的未定义行为?

作者:PiX 提问时间:6/4/2009

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; ...

为什么这些构造使用增量前和增量后的未定义行为?

作者:PiX 提问时间:6/4/2009

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; ...

是 a[i]=y++;和 a[i++]=y;未定义的行为或未指定的 C 语言?

作者:三六九 提问时间:1/13/2023

当我在寻找表达式为什么要定义行为时,我突然看到了一个解释,因为表达式存在于程序中的两个序列点之间,而 c 标准规定在两个序列点中副作用的发生顺序是不确定的,所以当表达式在程序中运行时, 不确定是先操作...

分配后工会的活跃成员

作者:cerveka2 提问时间:8/31/2022

假设 ,我有以下代码片段:sizeof( int ) == sizeof( float ) union U{ int i; float f; }; U u1, u2; u1.i = 1; //...

如果 func() 修改全局变量 [duplicate],int sum = func(1) + func(2) 是否会导致未定义的行为

作者:D.J. Elkind 提问时间:11/1/2023

这个问题在这里已经有答案了: 以未指定的顺序使用具有副作用的函数是否为未定义的行为? (4 个答案) 21天前关闭。 受这篇 SO 帖子的启发,我想知道下面的代码片段是否会导致 UB 同时发生,并且...

通过 const 指针而不是 const 引用传递临时引用;此解决方法格式是否正确?

作者:dragonroot 提问时间:11/4/2023

显然,根据 C++ 标准,不能将 const 指针作为函数的参数传递给临时,而传递 const 引用是完全可以的,即使两者本质上是相同的。 这令人费解,到目前为止,我唯一的解释是 C++ 不能微妙到...

“*s = 0”被优化掉。可能的 GCC 13 错误?还是一些未定义的行为?

作者:tueda 提问时间:11/2/2023

在 GCC 13.2 中,以下代码的输出取决于优化级别: #include <ctype.h> #include <stdio.h> char *SkipAName(char *s) { if ...

在生锈中移动原始指针的目标是否安全

作者:RedCrafter LP 提问时间:11/7/2023

我正在 rust 中创建一个双向图,父指针是 rust 借用规则的一个明显问题,所以我使用了原始指针,这些指针理论上是安全的,因为父指针拥有子指针,不能在子指针之前删除。我唯一的问题(在我的脑海中)是...


共35条 当前第1页