2011-12-10 123 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;} 
相關問題