我正在编写这段代码来读取 N 个整数数组,然后我想检查偶数并单独打印它们。
这是我写的,但是我得到这个错误: 表达式必须具有整数或无作用域的枚举类型
#include <stdio.h>
void main(){
int N;
int count_even = 0, count_odd = 0;
scanf_s("%d", &N);
float *arr = new float[N];
for (int i = 0; i < N; i++){
scanf_s("%f", &arr[i]);
}
for (int j = 0; j < N; j++){
if (arr[j] % 2 == 1){
count_odd++;
}
}
}
这一行的错误:“if (arr [j]) % 2 ==1)
最佳答案
你正在尝试做 <float> % <int>
:
if (arr[j] % 2 == 1) {
// ^^f^^^ ^i
没有这样的运算符。您想要使用的是 fmod , 在 <cmath>
中定义图书馆。
关于c++ - 表达式必须具有带数组的整数或无作用域枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27061164/