2011-12-10 65 views

回答

11

你会做:

char c = str[1]; 

甚至:

char c = "Hello"[1]; 

编辑:更新,以找到 “E”。

+2

这得到了“E”? – Thanatos

+1

不,但我理解它,可以让它为我自己工作 – Aspyn

+0

好吧,坚果,我误解了。我正在为“O”代替。仍然答案仍然适用。 –

21
char* str = "HELLO"; 
char c = str[1]; 

请记住,数组和字符串用C在0而不是1开始索引,所以“H”是str[0],“E”是str[1],第一个“L”是str[2]等。

4

数组符号和指针运算可以在C/C++中互换使用(对于所有情况,这不是真的,但是到达那里时,您会自己找到这些实例)。所以,虽然str是一个指针,你可以使用它,就好像它是一个数组,像这样:

char char_E = str[1]; 
char char_L1 = str[2]; 
char char_O = str[4]; 

...等等。你也可以做的是“指向字符str的指针值”加1“,然后指向字符串中的第二个字符。那么你可以简单地做:

str = str + 1; // makes it point to 'E' now 
char myChar = *str; 

我希望这可以帮助。

0
#include <iostream> 
#include <string> 
using namespace std; 
int main() 
    {string a="HELLO";char b=a[1]; 
    cout<<b; 
return 0;}