C语言s1e23第二题
C语言s1e23第二题#include <stdio.h>
int main()
{
char *array = {"FishC","Five","Star","Good","Wow"};
char *(*a)= &array;
int i,j;
for (i = 0;i < 5;i++)
{
for (j = 0;(*a)!='\0';j++)
{
printf("%c ",(*a));
}
printf("\n");
}
return 0;
}
为什么这样写之恶能打印出第一行,不明白和小甲鱼给出的那种未考虑边界的代码有什么区别 本帖最后由 chxchxkkk 于 2020-7-30 00:26 编辑
for (j = 0;(*a)!='\0';j++)
{
printf("%c ",(*a));
}
这里的i 和 j 反了,改成 (*a) 就没问题了 你没有结帖,我正好拿来练习
#include <stdio.h>
int main()
{
char *array = {"FishC","Five","Star","Good","Wow"};
char *(*a)= &array;
int i,j;
for (i = 0;i < 5;i++)
{
for (j = 0;(*a)!='\0';j++)// 此处你写成了(*a)[ i ]
{
printf("%c ",(*a));// 此处你写成了(*a)[ i ]
}
printf("\n");
}
return 0;
}
页:
[1]