char* strcpy( char* dest, const char* src ), int binary_search(int *arr, int key, int n), 可能的实现

时间:2022-06-15 22:15:36
#include <stdio.h>
char* stringCopy( char* dest, const char* src )
{
    size_t i = 0;
    while (dest[i] = src[i++]);
    return dest;
}
int binary_search(int *arr, int key, int n)
{
    int i = n / 2;
    if (arr[i] < key)
    {
        for ( ++i; i < n; ++i)
        {
            if (arr[i] == key) return i;
        }
    }
    else
    {
        for (; i > -1; --i)
        {
            if (arr[i] == key) return i;
        }
    }
    return -1;
}
int main()
{
    char strBuf[100];
    char *ret = stringCopy(strBuf, "This is a test!\n这是一个测试!");
    printf("%s\n", strBuf);
    printf("%s\n", ret);
    int ints[] = { 1, 3, 5, 7, 9 };
    printf("%d\n", binary_search(ints, 5, sizeof ints / sizeof(int)));
    printf("%d\n", binary_search(ints, -1, sizeof ints/ sizeof(int)));
    printf("%d\n", binary_search(ints, 9, sizeof ints/ sizeof(int)));
    printf("%d\n", binary_search(ints, 3, sizeof ints/ sizeof(int)));
    return 0;
}

char* strcpy( char* dest, const char* src ), int binary_search(int *arr, int key, int n), 可能的实现的更多相关文章

  1. char &ast; p &equals; &quot&semi;abc&quot&semi;与const char &ast;p &equals; &quot&semi;abc&quot&semi;

    char * p = "abc"与const char *p = "abc"的区别是什么呢? 第一个语句会产生问题: warning: deprecated c ...

  2. void &ast;memmove&lpar; void&ast; dest&comma; const void&ast; src&comma; size&lowbar;t count &rpar;&semi;数据拷贝,不需要CPU帮助

    分享到 腾讯微博 QQ空间 新浪微博 人人网 朋友网 memmove 编辑词条 编辑词条 -->   memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,m ...

  3. 用C语言实现一个公用库函数void &ast; memmove&lpar;void &ast;dest&comma;const void &ast;src&comma;size&lowbar;t n&rpar;

    用C语言实现一个公用库函数void * memmove(void *dest,const void *src,size_t n). 该函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址 ...

  4. 字符串复制char &ast;strcpy&lpar;char&ast; dest&comma; const char &ast;src&rpar;&semi;

    ⒈strcpy的实现代码 char * strcpy(char * strDest,const char * strSrc) { if ((NULL==strDest) || (NULL==strSr ...

  5. C&sol;C&plus;&plus;中char&ast; p &equals; &quot&semi;hello&quot&semi; 和 const char&ast; p &equals; &quot&semi;hello&quot&semi;的区别

    在写代码常常都会写char * p ="hello";这样的代码,虽然不是错误,但却不建议这样用.应该加const修饰.这句话背后的内涵是什么?下面就刨根问底一下:) 这个行为在不 ...

  6. C&plus;&plus; char&ast;,const char&ast;,string&comma;int 的相互转换

    C++ char*,const char*,string,int 的相互转换   1. string转const char* string s ="abc";const char* ...

  7. &lpar;c&plus;&plus;&rpar; int 转 string&comma;char&ast;&comma;const char&ast;和string的相互转换

    一.int 和string的相互转换 1 int 转化为 string c++ //char *itoa( int value, char *string,int radix); // 原型说明: / ...

  8. 【C&plus;&plus;】int、const char&ast;、char&ast;、char、string之间的转换

    #include "stdafx.h" #include<string> #include<vector> #include<iostream> ...

  9. C语言执行时报错&OpenCurlyDoubleQuote;表达式必须是可修改的左值,无法从&OpenCurlyDoubleQuote;const char &lbrack;3&rsqb;”转换为&OpenCurlyDoubleQuote;char &lbrack;120&rsqb;” ”,原因:字符串不能直接赋值

    解决该问题的方法:使用strcpy函数进行字符串拷贝   原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string ...

随机推荐

  1. 忘记mysql root密码的解决方法

    一. MySQL密码的恢复方法一 有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复 1. 停止mysql ...

  2. MAC与HMAC的介绍及其在AWS和Azure中的应用

    MAC 在密码学中,(消息认证码)Message Authentication Code是用来认证消息的比较短的信息.换言之,MAC用来保证消息的数据完整性和消息的数据源认证. MAC由消息本身和一个 ...

  3. HTML-Canvas01

    画直线: var c = document.getElementById("myCanvas"); //不要忘写document var ctx = c.getContext(&q ...

  4. MySQL&colon; 详细的sql语句

    1添 1.1[插入单行] insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开 ...

  5. 检测zookeeper和kafka是否正常

    cd $(dirname $) source ~/.bash_profile count_zoo=`ps -ef | grep "config/zookeeper.properties&qu ...

  6. 真正明白C语言二级指针(转载)

    指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的 ...

  7. Microsoft Visual Studio 2013 Update 1 离线安装程序

    ☆ 微软官网地址:☆http://www.microsoft.com/zh-cn/download/details.aspx?id=41650☆ 离线安装程序 直接下载链接:☆http://downl ...

  8. Reverse Linked List II 解答

    Question Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Giv ...

  9. FMX相当于在界面上自己又做了一个小操作系统

    FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字:还有 ...

  10. zipline-benchmarks&period;py文件改写

    改写原因:在这个模块中的 get_benchmark_returns() 方法回去谷歌财经下载对应SPY(类似于上证指数)的数据,但是Google上下载的数据在最后写入Io操作的时候会报一个恶心的编码 ...