小甲鱼的代码有点没看懂
if (i > strlen((*p)) - 1)这里看不懂,有大佬解释一下吗#include <stdio.h>
#include <string.h>
int main()
{
char *array = {"FishC", "Five", "Star", "Good", "Wow"};
char *(*p) = &array;
int i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
if (i > strlen((*p)) - 1)
{
break;
}
printf("%c ", (*p));
}
printf("\n");
}
return 0;
} *p代表了某一个字符串(就是当前循环到的字符串),strlen((*p))是当前字符串的长度,比如'FishC'的长度是5,而'Five'的长度为4
strlen((*p)) - 1是字符串的最后一个字符,当i > strlen((*p)) - 1的时候应该结束当前循环,以免数组下标越界 yuweb 发表于 2019-9-20 17:11
*p代表了某一个字符串(就是当前循环到的字符串),strlen((*p))是当前字符串的长度,比如'FishC'的长度 ...
strlen是测的二维数组的长度吗,如果是它是不是以一维数组的长度为准 机智如我么么哒 发表于 2019-9-20 17:37
strlen是测的二维数组的长度吗,如果是它是不是以一维数组的长度为准
strlen是获取字符串的实际长度 yuweb 发表于 2019-9-20 17:43
strlen是获取字符串的实际长度
意思是它计算的是一维数组的长度吗?否则它应该不等于5吧 机智如我么么哒 发表于 2019-9-20 17:46
意思是它计算的是一维数组的长度吗?否则它应该不等于5吧
也可以这么说
页:
[1]