zoukankan      html  css  js  c++  java
  • strcpy手写——面试

    #include<stdio.h>
    #include<string.h>
    
    char s[123]={"1233232"},str[123];
    
    char* strcpy(char *to,char *from){
        if(NULL==to||NULL==from) //不检查指针的有效性,说明答题者不注重代码的健壮性。
            throw "point error"; //应该以抛出异常来代替返回值,这样可以减轻调用者的负担、使错误不会被忽略、增强程序的可维护性。
        int i;
        for(i=0;from[i]!='';++i){//直接使用字面常量(如本例中的0)会减少程序的可维护性
            to[i]=from[i];
        }
        return to;//return 0;,说明答题者没有掌握异常机制。调用者有可能忘记检查返回值,调用者还可能无法检查返回值
    }
    
    int main(){
        printf("%s
    ",s);
        strcpy(str,s);
        printf("%s
    ",str);
    }

    看似简单实则暗藏杀机!!!

  • 相关阅读:
    实验4
    实验3
    第七章例7-14
    第七章例7-13
    第七章例7-12
    第七章例7-11
    第七章例7-10
    diyiti
    disanti
    第二题
  • 原文地址:https://www.cnblogs.com/huhuuu/p/3448599.html
Copyright © 2011-2022 走看看