为什么我的u没有输出出来?
有大佬吗,这是我的代码,u没输出出来#include<stdio.h>
int main()
{
char *array={"abcde","fghi","jklmn","opqrs","tuv"};
char *(*p)=&array;
int i,j;
for(i=0;i<5;i++)
{
for(j=0;(*p)!='\0';j++)
{
printf("%c ",(*p));}
printf("\n");}
return 0;
}
打印结果是
afjo t
bg kp 这里少了u
chl qv
dim r
e ns 上面的结果也没有s 本帖最后由 理想小青年 于 2019-9-21 16:03 编辑
问题在你的判断条件 (*p)!='\0',判断的是定义的数组char *array={"abcde","fghi","jklmn","opqrs","tuv"};
也就是说
第二次输出少u,循环了4次 --> fghi \x0
第五次输出, 循环3次-- > tuv \x0
你是根据每个二维数组去判断输出的,你没有判断内存布局中bgkpu
理想小青年 发表于 2019-9-21 16:00
问题在你的判断条件 (*p)!='\0',判断的是定义的数组char *array={"abcde","fghi","jklmn","opqrs"," ...
谢谢,我懂了,是因为数组个数不同的原因
页:
[1]