C语言-指针与字符串:被调函数找出大串(程序填空)

5
#include <stdio.h>
#include <stdlib.h>
int str(char *p,char *s){
    while(*p!='\0'&&*s!='\0'){
        if(*p>=*s){
            return 1;
        }else{
            return 0;
        }
        p++;
        s++;
    }
}
void sub(char *p,char *s){
    int i=0;
        if((str(p,s)==1)){
           for(i=0;i<5;i++){
            *(s+i) = *(p+i);
        }
        *(s+5) = 0;
    }
}

int main()

{

    char s[21],*p="hello";

    gets(s);

    sub(p,s);  //缺少参数

   printf("%s\n",s);

    return 0;

}