这函数.麻烦给我解释下.只有3行.void fun(char* dest,char* s1,char* s2) { while (*dest++=*s1++); dest--; while (*dest++=*s2++); } 麻烦各位高手帮小弟解释下这函数.为啥可以将s1,s2合并起来再放到dest上.郁闷中.main(

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 04:23:23
这函数.麻烦给我解释下.只有3行.void fun(char* dest,char* s1,char* s2) { while (*dest++=*s1++); dest--; while (*dest++=*s2++); } 麻烦各位高手帮小弟解释下这函数.为啥可以将s1,s2合并起来再放到dest上.郁闷中.main(
xKO@ǿGqI赧^zK ADŴEH@ A/Yۧ~!PZU?fgvg~ %oUk8MkfjVIfLc^!Y>7cAau\$`TO-~0)L FjY,/ʖ>sB`^NB7%kPiASyl 'א9Si0ce4WI{h5ݎ3B4v1DeUAXfi42226 jwѱ!f`'2 {F'(tհYtBx$ eiX||H<^=>!Ğ:" [ ^i;()6j1](P!u,? DU WLL `]nM2%HQf@& !]_ 1t+ R)s- }5\@h9(->x>M!\{oMN M)swTN{߯V{rf-Xӯn{fTSk@HeE8;v !@TZ'FC-|QeqRdYPfr.|`U"9ƦMlQ ׇVkHN#h

这函数.麻烦给我解释下.只有3行.void fun(char* dest,char* s1,char* s2) { while (*dest++=*s1++); dest--; while (*dest++=*s2++); } 麻烦各位高手帮小弟解释下这函数.为啥可以将s1,s2合并起来再放到dest上.郁闷中.main(
这函数.麻烦给我解释下.只有3行.
void fun(char* dest,char* s1,char* s2)
{
while (*dest++=*s1++);
dest--;
while (*dest++=*s2++);
}
麻烦各位高手帮小弟解释下这函数.为啥可以将s1,s2合并起来再放到dest上.郁闷中.
main()
{
char *dest;
dest=(char *)malloc(sizeof(char));
char* s1="Happy ";
char* s2="New Year";
fun(dest,s1,s2);
printf("%s\n",dest);
}
就是这样.
不是这样啦.
while (*dest++=*s1++);
while (*dest++=*s2++);
这两句.取值后++?

这函数.麻烦给我解释下.只有3行.void fun(char* dest,char* s1,char* s2) { while (*dest++=*s1++); dest--; while (*dest++=*s2++); } 麻烦各位高手帮小弟解释下这函数.为啥可以将s1,s2合并起来再放到dest上.郁闷中.main(
这个函数的作用就是把字串s1 s2 合成一个字串dest.
分天写就是
void fun(char* dest,char* s1,char* s2)
{
while(*s1){
*dest=*s1;
dest++;
s1++;
}
dest--;/*这句的作用是因为当*S1为字串结尾时dest己指向后一个,所以要后退一字节*/
while(*s2){
*dest=*s2;
dest++;
s2++;
}
}
问题补充:不是这样啦.我是不明白
while (*dest++=*s1++);
while (*dest++=*s2++);
这两句.取值后++?
这就相当于我上面说的,因是后置++,所以是先赋值,再执行++.
while(*dest=*s1){
dest++;
s1++;
}
while(*dest=*s1)只有在字串s1没结束时才成立进行循环