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

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


临摹微笑
浏览 649回答 2
2回答

斯蒂芬大帝

 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;  }
打开App,查看更多内容
随时随地看视频慕课网APP