非常簡單,但我遇到了麻煩。我有一個數組中的隨機字母序列:計算陣列中出現的字符數
char box[] = "rbpbymgoybrppogrgxombpgpbpbooyogrrm";
我需要計算某個字母出現的次數(例如字母'r')。
這是到目前爲止我的程序:
main() {
int count = 0;
for(int i = 0; i < sizeof(box); i++) {
if(box[i] == '\r') count++;
}
printf("Red: %d", count);
}
現在我已經有使用「\ r」,試圖識別字符就是不工作預感。是否有另一種方法來表示字符並在數組中檢查它們?我使用他們的ASCII等價物嗎?
'的sizeof(盒子)'不是你期望它做的。使用'strlen(box)'獲取存儲在數組中的**字符串**的長度,而不是**數組**中的條目總數。如果您沒有看到區別,請閱讀C字符串以及它們與'char'數組(和'char *')的關係。 – Olaf
這段代碼不會編譯,首先,因爲main()總是返回一個'int'。並且因爲printf()的調用需要聲明:'#include' –
user3629249
還沒有觸及#include但是在讀完它之後,strlen函數聽起來更合適。 –
Jertise