我已经声明了一个长度为100的c数组。现在,我将char放入其中:
char northl2[100];
northl2[0]='1';
northl2[1]='1';
如何计算放入数组的1个程序的数量?
答案 0 :(得分:0)
您可以使用默认值初始化数组,例如0
:
char northl2[100] = { 0 };
然后在添加之后,您的'1'
字符会循环播放并为您找到的每个'1'
增加一个计数器变量。
答案 1 :(得分:0)
您可以使用这样的循环:
char northl2[100] = {0};
northl2[0]='1';
northl2[1]='1';
int count_one = 0;
for (int i = 0;i<100;++i)
{
if (northl2[i] == '1')
{
++count_one;
}
}
std::cout << count_one;
在这种情况下打印2,因为有2 1
个。代码遍历数组的每个元素,检查它的值,并递增其计数。 char northl2[100] = {0};
默认将每个元素设置为0.如果需要不同的值,请使用循环:
char northl2[100];
int main()
{
int count_one = 0;
for (int i = 0; i< 100;++i)
{
northl2[i] = 'C'; //Or whatever char other than '1'
}
northl2[0]='1';
northl2[1]='1';
for (int i = 0;i<100;++i)
{
if (northl2[i] == '1')
{
++count_one;
}
}
}
另外,在循环为所有元素分配值后,不要忘记分配1,否则将覆盖。
答案 2 :(得分:0)
保持数组中没有sentinel值的实际元素数量的唯一方法是定义一个变量,该变量将存储数组中实际值的数量。
考虑到这个声明
char northl2[100];
是块作用域声明,然后数组未初始化并具有不确定的值。
如果您将字符数组中的值存储为字符串(即数组具有标记值'\0'
),那么您只需应用标准C函数std::strlen
。
您可以按以下方式定义数组
char northl2[100] = {};
最初将数组的所有元素初始化为零。
在这种情况下你可以写
char northl2[100] = {};
northl2[0] = '1';
northl2[1] = '1';
//...
std::cout << "The number of added values to the array is "
<< std::strlen( northl2 )
<< std::endl;
前提是按顺序添加值,数组中没有间隙。