问题描述
我正在尝试计算数组元素中的奇数个数。有没有一种方法可以执行以下操作而无需在for循环中声明变量?我知道在循环内声明的变量无法在循环外访问,我想知道是否有一种方法可以执行以下循环,并且可以在循环外访问奇数值计数KS的值。
int arr[3] = {1004,-237890,30022};
for (int i = 0; i < 3; i++) {
int oddValueCountKS = 0;
while (arr[i] != 0) {
if (arr[i] % 2) {
oddValueCountKS++;
}
arr[i] /= 10;
}
}
解决方法
int arr[3] = {1004,-237890,30022};
int oddValueCountKS[3] = {0};
for (int i = 0; i < 3; i++) {
while (arr[i] != 0) {
if (arr[i] % 2) {
oddValueCountKS[i]++;
}
arr[i] /= 10;
}
}
,
在循环外声明它
int oddValueCountKS;
for (int i = 0; i < 3; i++) {
oddValueCountKS = 0;
//the rest of your code
}
这样,您将可以在外部访问