gpt4 book ai didi

c - 尝试复制有关可变参数的 printf 行为

转载 作者:行者123 更新时间:2023-12-05 08:44:50 25 4
gpt4 key购买 nike

我正在尝试复制一些 printf 功能用于教育目的,但我遇到了一些我无法理解的 printf 行为。我将尝试用一个简单的例子来解释:

有这个电话:

printf(" %c %c %c", 0, 1, 2); // yes, parameters are ints not chars.

输出看起来很正常,只有3个空格,数字被忽略了。

但是将 printf 输出到一个文件,然后使用“cat -e file”会这样做:

 ^@ ^A ^B

^@ 代表 0,^A 代表 1,^B 代表 2,依此类推。

这是我的问题,这些符号是什么?它们与值(value)观有何关系?

还有我自己的 printf,也是这样做的除了被视为 '\0' 字符的 0...我需要模仿 printf 正是这样我需要了解那里发生了什么...

我搜索了那些符号,但找不到任何东西。它们不是内存垃圾,因为结果总是相同的。

最佳答案

cat-e 选项告诉它使用特定的符号来打印不可打印的字符。 ^@代表值0,^A代表值1,^B代表值2。这些正是你给的值.

关于c - 尝试复制有关可变参数的 printf 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75261067/

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