gpt4 book ai didi

c - C 字符串的空终止

转载 作者:行者123 更新时间:2023-11-30 19:58:57 31 4
gpt4 key购买 nike

一般来说,null 终止 C 字符串是由编译器自动添加的,这样说对吗?

所以在下面的例子中:

char * str = "0124";
printf("%x", str[str[3] - str[2] + str[4]]);

输出总是 32?

谢谢。

最佳答案

第一个问题:是

第二个问题:在 ASCII 系统上是的:您计算的是整数:'4' - '2' + '\0':0x34 - 0x32 + 0 = 2,因此您得到 str[2],即 '2',即 0x32。'4' - '2' 在 C 中定义为 2,但如果您在 EBCDIC 系统上运行代码,'2' 为 0xf2

关于c - C 字符串的空终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17724136/

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