ohhhhhhhhhhhhhhhhhh 2022-03-12 21:29 采纳率: 71%
浏览 36
已结题

return s+strlen(s)和return 0有什么区别呢?

img


这是题目

char *match( char *s, char ch1, char ch2 ){
    int  flag = 0;
    char *p = NULL; 
    for(int i = 0;*(s+i) !='\0' && flag==0; i++){
        if(s[i] == ch1){
            p = (s+i);
            for(int j=i; *(s+j) !='\0' ; j++){
                printf("%c",*(s+j));
                if(*(s+j) == ch2){
                    flag = 1;
                    break;
                }    
            }
      printf("\n");
            return p;
        }
    }
  printf("\n");
    return s+strlen(s);

这是我搜的代码,改成return 0;就会有一个测试点不过

char *match( char *s, char ch1, char ch2 ){
    char *p ;
    for(int i = 0; *(s+i) != '\0'; i++){
        if(*(s+i) == ch1){
            p = (s+i);
            for(;*(s+i) != '\0' ;i++){
                printf("%c",*(s+i));
                if(*(s+i) == ch2 || *(s+i+1) == '\0'){
                    printf("\n");break;
                }
            }
        }
        if(*(s+i) == ch2) break;
    }
    return p;
}

这是我原来的代码,也是那一个测试点没过

  • 写回答

1条回答 默认 最新

  • 程序员萌芽 2022-03-12 22:31
    关注

    函数可以有一个返回值,即通过return来返回一个值,return 0就是返回0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日