非常简单,但我遇到了麻烦。我有一个数组中的随机字母序列:计算阵列中出现的字符数
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