《C面试真题精讲》程序摘录
2015-04-03 11:04
106 查看
#include <stdio.h>
#include <stdlib.h>
//#include <assert.h>
#if 0
char
*mystrcpy(char *dest,char *src)
{
//char *p = dest;
char *p;
p = dest;
while (*src != '\0')
{
*dest++ = *src++;
printf("%s\n",dest);
//printf("%s\n",p);
//我自己添加的
//printf("%s\n",src);
//我自己添加的
}
return p;
}
#endif
char *mystrcpy(char *dest,char *src)
{
char *d = dest;
// 输入参数的备份
char *s = src;
int count = 0;
//assert(dest);
//assert(src);
if (src == dest)
{
return src;
}
count = strlen(src) + 1;
if (count <= 1)
{
return 0;
}
if (dest < src || dest >= (src + count))
{
while (count--)
{
*d++ = *s++;
}
} else
{
d = dest + count;
s = src + count;
while (count--)
{
*d-- = *s--;
}
}
return dest;
}
int
main(void)
{
char *dest,*src,*p;
src = "Hello world!";
p = mystrcpy(dest,src);
printf("%s\n",dest);
printf("%s\n",p);
printf("%s\n",src);
return 0;
}
#include <stdlib.h>
//#include <assert.h>
#if 0
char
*mystrcpy(char *dest,char *src)
{
//char *p = dest;
char *p;
p = dest;
while (*src != '\0')
{
*dest++ = *src++;
printf("%s\n",dest);
//printf("%s\n",p);
//我自己添加的
//printf("%s\n",src);
//我自己添加的
}
return p;
}
#endif
char *mystrcpy(char *dest,char *src)
{
char *d = dest;
// 输入参数的备份
char *s = src;
int count = 0;
//assert(dest);
//assert(src);
if (src == dest)
{
return src;
}
count = strlen(src) + 1;
if (count <= 1)
{
return 0;
}
if (dest < src || dest >= (src + count))
{
while (count--)
{
*d++ = *s++;
}
} else
{
d = dest + count;
s = src + count;
while (count--)
{
*d-- = *s--;
}
}
return dest;
}
int
main(void)
{
char *dest,*src,*p;
src = "Hello world!";
p = mystrcpy(dest,src);
printf("%s\n",dest);
printf("%s\n",p);
printf("%s\n",src);
return 0;
}
相关文章推荐
- 帮帮忙忙吧,大学刚毕业,面试公司,让我做个程序,希望大家来帮忙。顶上100分
- 程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题
- 面试不会的程序
- 源码与tarball套件管理程序笔记摘录
- Effective C# 中文版 改善C#程序的50种方法 --摘录
- 经典面试题目--在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 为什么开发者不愿意重构他们的程序?(摘录)
- 走一遍标准的面试程序
- 微软面试-程序题
- 摘录:MFC程序的生与死
- 经典程序摘录
- 1001[转] 进入Bcg的2轮面试--摘录
- 英语面试精彩问答摘录
- 外企中的程序面试-JAVA
- 摘录:一个通讯程序
- 收集的Asp.Net面试程序代码
- "2个面试华为光网测试的有关算法题",我写的程序!!!
- 用perl写的postgre数据库备份程序(摘录,没有注解)
- Effective C# 中文版 改善C#程序的50种方法 --摘录
- [面试]找工作笔试面试过程中一些常考的写程序题