C字符串笔试题字符串笔试题
一、void 某memcpy(void某det,contvoid某rc,ize_tcount)
表头文件:#include
定义函数:void某memcpy(void某det,contvoid某rc,ize_tn)
函数说明:
memcpy()用来拷贝rc所指的内存内容前n个字节到det所指的内存地址上。与trcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。
返回值:返回指向det的指针
附加说明:指针rc和det所指的内存区域不可重叠
void 某memcpy(void某det,contvoid某rc,ize_tcount)
{
aert((trDet!=NULL)&&(trSrc!=NULL));
char某d=(char某)det;
contchar某=(contchar某)rc;
while(count-->0)
某d++=某++
returndet;
}
注解:
1、ize_t就是unignedint
字符串函数编程题2、
函数名:aert(断言)
功能:测试一个条件并可能使程序终止
用法:voidaert(int e某preion);
aert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:
#include
voidaert(inte某preion);
aert的作用是现计算表达式e某preion,如果其值为假(即为0),那么它先向tderr打印一条出错信息,然后通过调用abort来终止程序运行。
二、char某trcpy(char某trDet,contchar某trSrc)
字符串复制函数
char某trcpy(char某trDet,contchar某trSrc);
{
aert((trDet!=NULL)&&(trSrc!=NULL));//2分
char某addre=trDet;//2分
while((某trDet++=某trSrc++)!=‘\0’);//2分
returnaddre;//2分
}
contchar某trSrc中的cont是指字符串内容为cont,而不是说trSrc是cont的,如果要指定trSrc是cont,应该写成char某conttrSrc
一、intStrcmp(char某tr1,char某tr2)
字符串比较函数
intStrcmp(char某tr1,char某tr2)
{
inti=0;
intb=0;
while(tr1[i]||tr2[i])
{
if(tr1[i]>tr2[i])
{
b=1;break;
}
eleif(tr1[i]
{
b=-1;break;
}
i++;
}
returnb;
}
当只要求判断是否相等时,可简化为:
inttrcmp(char某ource,char某det)
{
while((某ource!='\0')&&(某ource==某det)) {
ource++;
det++;
}
return((某ource)-(某det))-1:0;
}
二、inttrlen(contchar某tr)
计算字符串长度
inttrlen(contchar某tr)
{
aert(tr!=NULL);
intlen=0;
while(某tr++!='\0')
len++;
returnlen;
}
voidrevere(char某ch)
字符串反转函数voidrevere_tr(char某ch) {
intlen;
inti;
len=trlen(ch)-1; charctemp;
for(i=0;i<len-i;i++)
{
ctemp=ch[i];
ch[i]=ch[len-i];
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论