我正在为我的计算机科学一门课程做一个项目,但在尝试获取包含 char 值的数组的确切大小时遇到了麻烦。首先,程序提示用户输入 char 值,通过使用行cin.getline(array,100);
之后,它获取数组,然后传递给它一个 getSize 函数,该函数假定返回数组的实际大小。唯一的问题是它并不矛盾。有时它会返回正确的值,但有时它不会。获取大小函数:
int getSize(char arr[]){
int i = 0;
for(i; '\0' != arr[i];i++){
}
return i;
}
示例:arr[100] 包含 5 个字符,其余为空,但函数在程序运行时返回 7。我不确定这是否是一个问题,但程序会在将数组发送到 size 函数之前对其进行修改。它会删除重复项。