2016-03-23 14 views
-4

Örneğin, bir dizideki "B" harfine sahip olsaydım ve kaç tane olduğunu saymak istersem, "B" = 1 yapabilirim, böylece b'lerin sayısını kolayca sayabilirim. Bu, bu yana yazım olduğunu sanmıyorum. "B" yi yapmak istemiyorum = int B"G" gibi bir dize 50 gibi belirli bir sayıya eşitlemek mümkün mü?

+2

Gerçekten ne sorduğunuzu açık değil. Bir dizi değerinin üzerine yazmanız gerekiyorsa, cevabınız buna bağlıdır. Dizi bir dizge değilse o zaman evet, değerleri yeni değer dizinin türüne sığdığı sürece istediğiniz şekilde değiştirebilirsiniz. – kaylum

+0

Dizinleri karakter kodları olan ve değerler sayılar olan bir dizi kullanın. – Barmar

+1

Sadece B gibi tek bir karakter saymak istiyorsanız, bunu yapmanız bile gerekmez. Sadece 'count' adı verilen bir değişken kullanın ve bir 'B' bulduğunuzda, saymayı artırırsınız. – Barmar

cevap

2

Bir dizgiye atamanıza gerek yoktur, sadece sıradan bir değişken kullanın.

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); 
İlgili konular