【发布时间】:2014-09-26 22:09:45
【问题描述】:
我正在修改一些 C 概念并尝试了这个:
printf("%d %d %d", "%da", 'a', 'A'); //16079992 97 65
我可以理解,对于 a 和 A,它会打印 ASCII 值:97 和 65。但是我不明白为什么它会为"%da" 打印16079992。事实上,我不明白 C 在使用%d 将字符串输出为整数时如何解释它们。这背后必须有一些算法/逻辑。有人吗?
【问题讨论】:
-
"这背后肯定有一些算法/逻辑。" 不,没有。如果你过马路而不看两边,会发生什么?谁知道。你可能会被车撞到。你可能会被卡车撞到。任何事情都有可能发生。如果您以明确禁止的方式处理信息,您可能会得到完全的垃圾。