• C语言:二十三 不用库函数/局部or全局变量写测字符串长度的函数


    int my_strlen(char *strDest)
    {
    assert(strDest != NULL); //注释①
    if('' == *strDest)
    return 0;
    else //注释②
    return (1+my_strlen(++strDest));
    }

    注释①:
    assert是个宏,不是库函数,仅在debug版本中起作用,在release版本中会被编译器优化掉不起任何作用,如果assert后跟的表达式为False,将终止程序运行并报错。

    注释②:
    采用递归调用自身的方式完成函数功能。
    my_strlen()函数还可以写的更简洁
    int my_strlen(char *strDest)
    {
    assert(strDest != NULL);
    return (strDest == '') ? 0:(1+my_strlen(++strDest));
    或者
    return (*strDest) ? (1+my_strlen(++strDest)) : 0;
    }
  • 相关阅读:

    守护线程
    下载图片
    多线程
    self的作用
    设置项目地址环境
    对象 类
    ValueError: urls must start with a leading slash
    mock挡板接口开发
    K&R——第五章 指针与数组
  • 原文地址:https://www.cnblogs.com/wuqi1003/p/12239634.html
Copyright © 2020-2023  润新知