亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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后,循環停止*/
  示例:

 ?、眘trcpy的實現代碼
  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 關注
  • 672 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號