#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), 可能的实现的更多相关文章
-
char * p = ";abc";与const char *p = ";abc";
char * p = "abc"与const char *p = "abc"的区别是什么呢? 第一个语句会产生问题: warning: deprecated c ...
-
void *memmove( void* dest, const void* src, size_t count );数据拷贝,不需要CPU帮助
分享到 腾讯微博 QQ空间 新浪微博 人人网 朋友网 memmove 编辑词条 编辑词条 --> memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,m ...
-
用C语言实现一个公用库函数void * memmove(void *dest,const void *src,size_t n)
用C语言实现一个公用库函数void * memmove(void *dest,const void *src,size_t n). 该函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址 ...
-
字符串复制char *strcpy(char* dest, const char *src);
⒈strcpy的实现代码 char * strcpy(char * strDest,const char * strSrc) { if ((NULL==strDest) || (NULL==strSr ...
-
C/C++中char* p = ";hello"; 和 const char* p = ";hello";的区别
在写代码常常都会写char * p ="hello";这样的代码,虽然不是错误,但却不建议这样用.应该加const修饰.这句话背后的内涵是什么?下面就刨根问底一下:) 这个行为在不 ...
-
C++ char*,const char*,string,int 的相互转换
C++ char*,const char*,string,int 的相互转换 1. string转const char* string s ="abc";const char* ...
-
(c++) int 转 string,char*,const char*和string的相互转换
一.int 和string的相互转换 1 int 转化为 string c++ //char *itoa( int value, char *string,int radix); // 原型说明: / ...
-
【C++】int、const char*、char*、char、string之间的转换
#include "stdafx.h" #include<string> #include<vector> #include<iostream> ...
-
C语言执行时报错“表达式必须是可修改的左值,无法从“const char [3]”转换为“char [120]” ”,原因:字符串不能直接赋值
解决该问题的方法:使用strcpy函数进行字符串拷贝 原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string ...
随机推荐
-
忘记mysql root密码的解决方法
一. MySQL密码的恢复方法一 有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复 1. 停止mysql ...
-
MAC与HMAC的介绍及其在AWS和Azure中的应用
MAC 在密码学中,(消息认证码)Message Authentication Code是用来认证消息的比较短的信息.换言之,MAC用来保证消息的数据完整性和消息的数据源认证. MAC由消息本身和一个 ...
-
HTML-Canvas01
画直线: var c = document.getElementById("myCanvas"); //不要忘写document var ctx = c.getContext(&q ...
-
MySQL: 详细的sql语句
1添 1.1[插入单行] insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开 ...
-
检测zookeeper和kafka是否正常
cd $(dirname $) source ~/.bash_profile count_zoo=`ps -ef | grep "config/zookeeper.properties&qu ...
-
真正明白C语言二级指针(转载)
指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的 ...
-
Microsoft Visual Studio 2013 Update 1 离线安装程序
☆ 微软官网地址:☆http://www.microsoft.com/zh-cn/download/details.aspx?id=41650☆ 离线安装程序 直接下载链接:☆http://downl ...
-
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 ...
-
FMX相当于在界面上自己又做了一个小操作系统
FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字:还有 ...
-
zipline-benchmarks.py文件改写
改写原因:在这个模块中的 get_benchmark_returns() 方法回去谷歌财经下载对应SPY(类似于上证指数)的数据,但是Google上下载的数据在最后写入Io操作的时候会报一个恶心的编码 ...