gpt4 book ai didi

c - C 中字符串字面量的地址

转载 作者:行者123 更新时间:2023-12-04 04:42:31 25 4
gpt4 key购买 nike

我读过字符串文字的类型是 char[n+1],其中 n 是长度。字符串文字的存储是一个实现问题。但它仍然必须在瞬间是唯一的。

printf
("%u\t %s\t %d\t %c\t %f\t %e\t %x\t %p\t",
&"XY",&"XY",&"XY",&"XY",&"XY",&"XY",&"XY",&"XY");

这段代码的输出是
4206628 XY 4206628 $ 0.000000 1.800980e-307 7ffde000 00000032

为什么 %f给出零, %s给出 XY(没有 & 的影响?)和 %p给出了完全不同的值(value)?

最佳答案

Why %f gives zero?



因为 %f期待 double虽然不是,但这会导致未定义的行为。

%s gives XY (no effect of &?)



可能是因为对于数组 arr : arr&arr具有相同的值(value)。但是,类型不同,这意味着您将意外类型传递给 printf ,再次,未定义的行为。

and %p gives a totally different value?



这就是您要查找的指针值。

关于c - C 中字符串字面量的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18672119/

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