gpt4 book ai didi

c - printf 语句是如何解释的?

转载 作者:太空狗 更新时间:2023-10-29 16:50:21 25 4
gpt4 key购买 nike

GCC 编译器如何解释以下行:

printf("HELLO");  

我想知道这一点,因为当我运行以下程序时:

main()  
{
printf(5+"Good Morning");
}

程序正在打印:

Morning

为什么编译器从第六个字符开始打印?

最佳答案

这是 C 指针算法的神器; printf 只是一条红鲱鱼。

字符串文字(例如"Good morning")的类型是const char *。您的代码相当于:

const char *p = "Good morning";
p = p + 5;
printf(p);

指针和整数相加产生指向序列中第 5 个元素的指针。

关于c - printf 语句是如何解释的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332611/

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