C char指针获取特定字符

问题描述 投票:-1回答:1

可能是一个愚蠢的问题,但是如何在char指针中访问特定字符?

我已经尝试关注...

char *pointer = "Hello";
printf("%s", pointer); // prints "Hello"
printf("%s", &pointer[0]); // also prints "Hello"

但是我想要的是printf(???)=>“ H”。一个字符。或“ e”。那怎么可能?

c string c-strings
1个回答
0
投票

[pointer是指向char的指针,也称为char *

[char *pointer = "Hello";之后,pointer指向“ H”。

[给定printf%s时,它将获得char *并打印all从该位置开始找到的字符,直到看到空字符为止。

[告诉printf打印单个字符,将实际字符值(不是指针)传递给它,然后使用%c

printf("%c", *pointer);

或:

printf("%c", pointer[0]);

或者,用“ e”代替“ H”:

printf("%c", pointer[1]);

0
投票
    char* pointer = "Hello";

创建一个指针,并将其分配给“ Hello”的基地址。

pointer和&pointer [0]是同一件事。

pointer [n]取地址“ Hello”,并用数字“ n”偏移它,请确保不要索引该地址的末尾,否则您将读到垃圾。


0
投票

尝试一下:

char *pointer = "Hello";
printf("%c", pointer[0]); // Print 'H'
printf("%c", pointer[e]); // Print 'e'
© www.soinside.com 2019 - 2024. All rights reserved.