帮我解释一下为什么第一个和第二个程序里的里面的while里的那个a带不带*都
一:
#include
#include
char* mycat(char *a,char *b)
{
char* ret=a;
while(*a!='\0')
{
*a++;
}
while(*b!='\0')
{
*a=*b;
*a++;
*b++;
}
*a='\0';
return ret;
}
int main()
{
char s1[20]="abcd";
char s2[20]="Abcde";
printf("%s\n",mycat(s1,s2));
return 0;
}
二:
#include
#include
char* mycat(char *a,char *b)
{
char* ret=a;
while(*a!='\0')
{
a++;
}
while(*b!='\0')
{
*a=*b;
*a++;
*b++;
}
*a='\0';
return ret;
}
int main()
{
char s1[20]="abcd";
char s2[20]="Abcde";
printf("%s\n",mycat(s1,s2));
return 0;
} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
第一个表示*a++表示数组中的下一个项,第二个a++表示给a赋值,最后*a,其实是*(a+i)的元素,所以两个都一样 |
|
|
|
|