关于 C语言 指针与数组

来源:百度知道 编辑:UC知道 时间:2024/07/07 13:58:51
void ConvertCharA(void)
{ int i,j,strl;
for (i=0;i<maxline;i++)
{ strl=strlen(xx[i]);
for (j=0;j<strl;j++)
if(xx[i][j]<'z'&&xx[i][j]>='a')
xx[i][j]+=1;
if (xx[i][j]=='z') xx[i][j]='a';
}

---------------------------------------------------------
void ConvertCharA(void)
{ int i;
char *pf;
for (i=0;i<maxline;i++)
{ pf=xx[i];
while (*pf!=0)
if (*pf>='a' && *pf<'z')
*pf+=1;
if(*pf=='z')
*pf='a';
pf++;
}
}
以上两个有什么区别??
我用上面一个 有结果,可是用下面的语句老是得不出结果。
但我觉得他们是等价的!!
请高手帮忙解答。
谢谢!!

while (*pf!=0)
{ //漏了
if (*pf>='a' && *pf<'z')
*pf+=1;
if(*pf=='z')
*pf='a';
pf++;
} //漏了
这个似乎漏了括号了吧。补上再看看。

void ConvertCharA(void)
{ int i,j;str;
char *pf;
for (i=0;i<maxline;i++)
{
pf=xx[i];
str=strlen(pf);
for (j=0;j<str;j++)
{
while (*pf[j]!=0)
if (*pf[j]>='a' && *pf[j]<'z')
*pf[j]+=1;
if(*pf[j]=='z')
*pf[j]='a';
}
}
}
是个二维数组和一位指针的问题
你看看,还不懂,
加380208702