打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
字符串面试题

一般面试字符串的题目分四种:1, 基本运算(求长度,连接,比较)2. 格式转换(atoi, itoa) 3.字符串翻转 4. 模式匹配。

1. 基本运算

a. 赋值操作

函数原型:int StrAssign(const char *s, char *t)

函数说明:将s的内容付给t

函数定义:

int StrAssign(const char *s, char *t){
 char *p = t;
  while(*s !='\0'){
  *p++ = *s++;
 }
 *p = '\0';

 return 0;
}

b. 连接操作

函数原型:int Concat(char *s, const char *t)

函数说明:将串t连接到串s的尾部,形成一个新串

函数定义:
int Concat(char *s, const char *t){
 //首先找到串s的尾部
 char *p = s;

 while(*p != '\0') p++;//循环结束以后的p就是s的尾部

  while(*t !='\0')   *p++ = *t++; 
  *p='\0';//添加尾部字符

  return 0;
}

c.求长度

函数原型:int StrLen(char *s)

函数说明:返回串s的长度

函数定义:

int StrLen(char *s){
 int len = 0;

 while(*s != '\0'){
  len ++;
  s++;
 }

 return len;
}

d. 字符串比较

函数原型:int StrCmp(const char *s, const char *t)

函数说明:比较两个串的大小,返回值为-1,0,1表示s<t, s=t,s>t。

函数定义:

int StrCmp(const char *s, const char *t){
 while((*s != '\0')&&(*t != '\0')){
   if(*s++ - *t++ > 0) return 1;
  else if( *s++ - *t++ <0) return -1;
  else return 0;
 }

 return 0;
}

//不区分大小写的字符串比较函数
int stricmp(const char *s, const char *t){ 
 while((*s != '\0')&&(*t != '\0')){  
  if(toupper(*s++) - toupper(*t++) > 0) return 1;
  else if(toupper(*s++) - toupper(*t++) <0) return -1;
  else return 0;
 }

 return 0;
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C/C++——strcpy函数的几种实现和详细解析
strcmp?strcpy?strcat?strlen?的实现?以及与strncat?st...
C语言中最常用标准库函数
文件读写
C语言知识深度汇总(本文仅谈语言,且不适合初学者阅读)
C语言中的各种文件读写方法小结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服