i < sizeof(arr) / sizeof(int)什么意思
时间: 2023-12-16 12:02:35 浏览: 35
在 C 语言中,`sizeof` 是一个操作符,用于计算变量或类型所占的字节数。`sizeof(arr)` 表示整个数组 `arr` 所占的字节数,`sizeof(int)` 表示整型变量所占的字节数。因此,`sizeof(arr) / sizeof(int)` 的结果是数组 `arr` 中元素的个数,即数组长度。
在遍历数组时,循环的次数应该是数组长度,因此可以使用 `i < sizeof(arr) / sizeof(int)` 来控制循环次数,确保不会越界。
相关问题
优化这句代码 for (int i = 0; i < sizeof(arr) / sizeof(int); i++)
可以将`sizeof(arr) / sizeof(int)`提取到一个变量中,避免重复计算。
```c
#include <stdio.h>
int main() {
int arr[] = {3, 7, 8, 9, 10, 4, 5};
int n = sizeof(arr) / sizeof(int);
int sum = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
sum += arr[i];
}
}
printf("所有偶数的和为:%d\n", sum);
return 0;
}
```
输出结果为:
```
所有偶数的和为:22
```
sizeof(arr)/sizeof(int);
这段代码的作用是计算一个数组中元素的个数。其中,`sizeof(arr)`表示整个数组所占的字节数,`sizeof(int)`表示一个数组元素所占的字节数。因此,`sizeof(arr)/sizeof(int)`的结果就是数组中元素的个数。这个方法可以用于任何类型的数组,只需要将`int`替换为相应的类型即可。
下面是一个示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(int);
cout << "数组中元素的个数为:" << n << endl;
return 0;
}
```
输出结果为:
```
数组中元素的个数为:5
```