问题标签 [asprintf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
21 问题
0
投票
1
回答
33
浏览
c - C : 为什么用 sprintf 修改局部变量?
考虑这个例子。我在下面创建了一个本地范围缓冲区,可以存储 2 个字符和一个终止符。但是当我用 2 位数字(即 a = 20)越过该阈值时,当我调用 sprintf 时会发生一些奇怪的事情。a 被修改并打印出 0。如果我将 buff 大小从 3 更改为 4。变量 a 不会改变。这是什么令人沮丧的行为?我正在使用 clang 13.0.0 编译器。
谢谢。