为了账号安全,请及时绑定邮箱和手机立即绑定

strcpy()函数和strcmp()函数怎么用?

strcpy()函数和strcmp()函数怎么用?

C
临摹微笑 2019-02-06 11:11:08
strcpy()函数和strcmp()函数怎么用?
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

 strcpy函数
  原型声明:extern char *strcpy(char* dest, const char *src);
  头文件:#include <string.h> 和 #include <stdio.h>
  功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
  返回指向dest的指针。
  典型实现:
  /**********************
  *C语言标准库函数strcpy的一种典型的工业级的最简实现
  *返回值:目标串的地址。
  *对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。
  *参数:des为目标字符串,source为原字符串
  */
  char* strcpy(char* des,const char* source)
  {
  char* r=des;
  while((*(des++)=*(source++))!='\0');
  return r;
  }
  /*while((*des++=*source++));的解释:赋值表达式返回左操作数,所以在赋值NULL后,循环停止*/
  示例:

  ⒈strcpy的实现代码
  char * strcpy(char * strDest,const char * strSrc)
  {
  if ((NULL==strDest) || (NULL==strSrc)) //[1]
  throw "Invalid argument(s)"; //[2]
  char * strDestCopy = strDest; //[3]
  while ((*strDest++=*strSrc++)!='\0'); //[4]
  return strDestCopy;
  }

  strcmp函数

  C/C++函数,比较两个字符串
  设这两个字符串为str1,str2,
  若str1==str2,则返回零;
  若str1>str2,则返回正数;
  若str1<str2,则返回负数。
  函数原型:extern int strcmp(const char *s1,const char *s2);
  示例:
  #include <stdio.h>
  #include <string.h>
  int main()
  {
  char string[20];
  char str[3][20];
  int i;
  for(i=0;i<3;i++)
  gets(str[i]);
  if(strcmp(str[0],str[1])>0)
  strcpy(string,str[0]);
  else
  strcpy(string,str[1]);
  if(strcmp(str[2],string)>0)
  strcpy(string,str[2]);
  printf("\nThe largest string is%s\n",string);
  return0;
  }



查看完整回答
反对 回复 2019-03-22
  • 2 回答
  • 0 关注
  • 648 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信