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

希望大家举例子说明(不要太深奥!!!)^^通俗一点!^_^!

strcpy是复制字符串
strcmp对比字符串
用的时候需要头文件#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char a[10]="Hello!";
char b[10];
strcpy(b,a);//把a copy给b
puts(b);//打印出b
system("pause");
}

strcmp(a,b)用来对比字符串长度的,比如
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char a[10]="Hello!";
char b[20]="Hello word!";
if(strcmp(b,a)<0)//小于0的时候b对a长
puts(b);//打印出b
system("pause");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-04
strcpy是复制字符串
strcmp对比字符串
用的时候需要头文件#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char
a[10]="Hello!";
char
b[10];
strcpy(b,a);//把a
copy给b
puts(b);//打印出b
system("pause");
}
strcmp(a,b)用来对比字符串长度的,比如
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char
a[10]="Hello!";
char
b[20]="Hello
word!";
if(strcmp(b,a)<0)//小于0的时候b对a长
puts(b);//打印出b
system("pause");
}
第2个回答  推荐于2017-10-10
  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;
  }

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网