#include
#include
void fun( char *p, char *q, char *c )
{
int k=0; /* 赋初值 */
while( *p!=NULL||*q!=NULL ) /* 这个退出循环的条件有问题,我改的这个也有问题,不过可以实现你的功能 */
{ if( *p <= *q )
c[k] = *q;
else
c[k] = *p;
p++;
q++;
k++; /* k+1 k的值不会变的,改成k++就可以了 */
}
c[k] = '\n';
}
main()
{ char a[10]= "aBCDeFgH", b[10] = "ABcd", c[80];
fun( a, b, c );
printf("The string a: " ); puts(a);
printf("The string b: " ); puts(b);
printf("The result: " ); puts(c);
}
似乎更改也没什么意义,这fun函数实在写得糟糕,反正按你的要求,咋改我都没法实现这个功能,重写个函数吧。
是你自己写的么?还是某本书上的,真晕 乱啊 代码风格太差了