AI文库-您身边的智能助手,如没有想要的内容请与本站万能的AI助手联系。

C字符串笔试题

时间: 热度:°C 加入收藏 我要投稿 点赞()

C字符串笔试题

  C语言是世界上最流行、使用最广泛的高级程序设计语言之一。A下面就由第一范文网小编为大家介绍一下C字符串笔试题的文章,欢迎阅读。

  C字符串笔试题篇1

  一、void * memcpy( void* dest, const void* src, size_t count )

  表头文件: #include

  定义函数: void *memcpy(void *dest, const void *src, size_t n)

  函数说明:

  memcpy用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy不同的是,memcpy会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。

  返回值: 返回指向dest的指针

  附加说明: 指针src和dest所指的内存区域不可重叠

  void * memcpy( void* dest, const void* src, size_t count )

  {

  assert((strDest!=NULL) && (strSrc !=NULL));

  char* d = (char*)dest;

  const char* s = (const char*)src;

  while( count-->0 )

  *d++ = *s++

  return dest ;

  }

  注解:

  1、size_t 就是unsigned int

  2、

  函数名: assert(断言)

  功 能: 测试一个条件并可能使程序终止

  用 法: void assert(int expression);

  assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

  #include

  void assert( int expression );

  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。

  二、char *strcpy(char *strDest, const char *strSrc)

  字符串复制函数

  char *strcpy(char *strDest, const char *strSrc);

  {

  assert((strDest!=NULL) && (strSrc !=NULL)); // 2分

  char *address = strDest; // 2分

  while( (*strDest++ = * strSrc++) != ‘\0’ ); // 2分

  return address ; // 2分

  }

  const char *strSrc中的const是指字符串内容为const,而不是说strSrc是const的,如果要指定strSrc是const,应该写成 char * const strSrc 。

  C字符串笔试题篇2

  一、int Strcmp(char *str1, char *str2)

  字符串比较函数

  int Strcmp(char *str1, char *str2)

  {

  int i=0;

  int b=0;

  while(str1[i]||str2[i])

  {

  if(str1[i]>str2[i])

  {

  b=1;break;

  }

  else if(str1[i]

  {

  b=-1;break;

  }

  i++;

  }

  return b;

  }

  当只要求判断是否相等时,可简化为:

  int strcmp(char *source, char *dest)

  {

  while ( (*source != '\0') && (*source == *dest))

  {

  source++;

  dest++;

  }

  return ( (*source) - (*dest) ) ? -1 : 0;

  }

  二、int strlen(const char* str)

  计算字符串长度

  int strlen(const char* str)

  {

  assert(str != NULL);

  int len = 0;

  while (*str++!='\0')

  len++;

  return len;

  }

  C字符串笔试题篇3

  void reverse(char *ch)

  字符串反转函数

  void reverse_str(char *ch)

  {

  int len;

  int i;

  len = strlen(ch)-1;

  char ctemp;

  for(i = 0; i < len-i; i++)

  {

  ctemp = ch[i];

  ch[i] = ch[len-i];

  ch[len-i] = ctemp;

  }

  ch[len+1] = 0;

  }

  void reverse_str2(char *ch)

  {

  int len;

  int i;

  len = strlen(ch)-1;

  for(i = 0; i < len-i; i++)

  {

  ch[i] = ch[i] ^ ch[len-i];

  ch[len-i] = ch[len-i] ^ ch[i];

  ch[i] = ch[i] ^ ch[len-i];

  }

  ch[len+1] = 0;

  }

221381
领取福利

微信扫码领取福利

微信扫码分享