2016-03-23 5 views
-4

たとえば、配列に文字「B」があり、その数を数えたい場合は、「B」= 1とすることができますので、bの数を簡単に数えることができます。これは型キャストではないと思います私は "B"自体を作成したくありません。int B"G"などの文字列を50などの特定の数字にすることはできますか?

+2

あなたが求めていることは本当に明確ではありません。配列の値を上書きするだけであれば、答えはそれに依存します。配列がリテラル文字列ではなくyesの場合、新しい値が配列の型に収まる限り、好きな方法で値を変更できます。 – kaylum

+0

インデックスが文字コードの配列を使用し、値はカウントです。 – Barmar

+1

'B'のような1文字だけを数えるだけなら、それをする必要はありません。単に 'count'という変数を使い、' B'が見つかるたびに 'count'をインクリメントします。 – Barmar

答えて

2

文字列に割り当てる必要はなく、通常の変数を使用するだけです。

int b_count = 0; 
char *string = "This is a B and this is another B"; 
for (char *p = string; *p != 0; p++) { 
    if (*p == 'B') { 
     b_count++; 
    } 
} 
printf("There are %d B's in the string\n", b_count);