gpt4 book ai didi

c - 如何在 C 中循环 char 指针?

转载 作者:行者123 更新时间:2023-11-30 18:33:13 24 4
gpt4 key购买 nike

我正在尝试访问“c”中预初始化的 char 指针的所有元素。这是代码:

#include <stdio.h>
#include <stdlib.h>

void main()
{
char **s="Hello";
printf("%c",*(*&s+1));
}

这段代码应该输出“e”,但没有。我做错了什么?

另外,如何一一访问所有元素?

最佳答案

s 的类型不正确。字符串常量 "Hello" 具有数组类型,可以衰减为 char * 类型,但您将其分配给 char ** 类型的变量>.

s 的类型更改为 char *,您的代码将输出“e”:

 char *s = "Hello";

另外,看看这个:

*(*&s+1)

*出现在&之前时,它们会相互抵消。所以你可以将其简化为:

*(s+1)

或者等效的:

s[1]

关于c - 如何在 C 中循环 char 指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59054632/

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