strlen()能不能测字符二维数组每一行的长度
时间: 2024-10-24 16:18:52 浏览: 20
从一维数组看sizeof和strlen
5星 · 资源好评率100%
`strlen()` 函数主要用于计算字符串(一维字符数组)的长度,即其中包含的字符数,包括空字符'\0'。对于二维字符数组,每个元素本身可以视为一个字符串,但如果想要测量整个二维数组每行的长度,你需要遍历每一行,并对每一行调用 `strlen()`。
例如,假设有一个二维字符数组 `arr`,你可以这样做:
```c++
#include <stdio.h>
#include <string.h>
size_t row_length(char arr[][COLS], int rows) {
size_t total_length = 0;
for (int i = 0; i < rows; i++) {
total_length += strlen(arr[i]);
}
return total_length;
}
int main() {
char arr[ROWS][COLS] = {/* your array content */};
int num_rows = sizeof(arr) / sizeof(arr[0]);
size_t row_lengths[num_rows];
for (int i = 0; i < num_rows; i++) {
row_lengths[i] = row_length(arr, i);
}
// 现在 row_lengths 数组包含了每行的长度
// 可以打印出来查看结果
for (int i = 0; i < num_rows; i++) {
printf("Row %d length: %zu\n", i, row_lengths[i]);
}
return 0;
}
```
在这个示例中,`row_length` 函数用于计算并返回指定行的长度。
阅读全文