以下代码用于打印二维数组中的字符串元素。由于所有字符串中的最大长度为 5,因此我将其初始化为最大元素长度 5。
#include <stdio.h>
#include <string.h>
int main()
{
char arr[4][5] = {"abcde", "efghi", "ijklm", "nop"};
for(int i = 0; i < 4; i++){
printf("String: \"%s\" with length: %d\n", arr[i], (int) strlen(arr[i]));
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但结果是
字符串:“abcdeefghiijklmnop”,长度:18
字符串:“efghiijklmnop”,长度:13
字符串:“ijklmnop”,长度:8
字符串:“nop”,长度:3
这不是想要的结果,因为我希望它们单独打印。
现在,我将数组arr可以存储的字符串的最大大小更改为 6。
#include <stdio.h>
#include <string.h>
int main()
{
char arr[4][6] = {"abcde", "efghi", "ijklm", "nop"};
for(int i = 0; i < 4; i++){
printf("String: \"%s\" with length: %d\n", arr[i], (int) strlen(arr[i]));
}
return 0; …Run Code Online (Sandbox Code Playgroud)