欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實現(xiàn)strcmp字符串比較的深入探討

 更新時間:2013年05月28日 18:05:56   作者:  
本篇文章是對使用C++實現(xiàn)strcmp字符串比較進行了詳細的分析介紹,需要的朋友參考下
strcmp的實現(xiàn)
函數(shù)簡介原型:extern int strcmp(const char *s1,const char * s2);
用法:加頭文件 #include <string.h>
功能:比較字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
返回值:
  當s1<s2時,返回值<0
  當s1=s2時,返回值=0
  當s1>s2時,返回值>0
  即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如:"A"<"B" "a">"A" "computer">"compare"
特別注意:
1. strcmp(const char *s1,const char * s2)這里面只能比較字符串,不能比較數(shù)字等其他形式的參數(shù)。
2. 關(guān)于返回值,標準只是規(guī)定三個值:小于零,零,大于零。具體是什么值編譯器自己定的,所以編程時候判斷小于等于大于,不能判斷是否等于1或者-1,如在VC中strcmp("123","1234") 返回-1,而在TC中返回-52。

下面是我自己的實現(xiàn),不足之處,還望指正?。ㄎ疫@里的返回-1,0,1)
復(fù)制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
#include <assert.h>
using namespace std;
<P>int mystrcmp(const char* str1,const char* str2)
{
&nbsp;assert(str1 != NULL && str2 != NULL);</P><P>&nbsp;while(*str1 && *str2 && *str1 == *str2)
&nbsp;{
&nbsp;&nbsp;++str1;
&nbsp;&nbsp;++str2;
&nbsp;}
&nbsp;if (*str1 > *str2)
&nbsp;&nbsp;return 1;
&nbsp;if (*str1 < *str2)
&nbsp;&nbsp;return -1;
&nbsp;else
&nbsp;&nbsp;return 0;
}</P>int _tmain(int argc, _TCHAR* argv[])
{
 char *str1 = "Hello World";
 char *str2 = "Hello world";
 cout << mystrcmp(str1,str2) << endl;
 return 0;
}

相關(guān)文章

  • c++將引用或者是指針作為函數(shù)參數(shù)實現(xiàn)實參的運算

    c++將引用或者是指針作為函數(shù)參數(shù)實現(xiàn)實參的運算

    這篇文章主要介紹了c++將引用或者是指針作為函數(shù)參數(shù)實現(xiàn)實參的運算,需要的朋友可以參考下
    2014-05-05
  • C語言實現(xiàn)貪吃蛇代碼

    C語言實現(xiàn)貪吃蛇代碼

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)貪吃蛇代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++中4種強制類型轉(zhuǎn)換的區(qū)別總結(jié)

    C++中4種強制類型轉(zhuǎn)換的區(qū)別總結(jié)

    C++風格的類型轉(zhuǎn)換提供了4種類型轉(zhuǎn)換操作符來應(yīng)對不同場合的應(yīng)用。下面這篇文章主要給大家介紹了C++中4種強制類型轉(zhuǎn)換的區(qū)別,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • C++寬字符與普通字符的轉(zhuǎn)換實例詳解

    C++寬字符與普通字符的轉(zhuǎn)換實例詳解

    這篇文章主要介紹了C++寬字符與普通字符的轉(zhuǎn)換實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++實現(xiàn)簡單24點游戲

    C++實現(xiàn)簡單24點游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單24點游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++實現(xiàn)LeetCode(127.詞語階梯)

    C++實現(xiàn)LeetCode(127.詞語階梯)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(127.詞語階梯),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言如何利用異或進行兩個值的交換詳解

    C語言如何利用異或進行兩個值的交換詳解

    最近在工作中遇到了兩個值交換的需求,發(fā)現(xiàn)自己對異或有些忘記,所以索性寫出來,方便以后需要的時候參考學(xué)習(xí),下面這篇文章主要給大家介紹了關(guān)于C語言如何利用異或進行兩個值的交換的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • Qt中JSON使用的詳細步驟

    Qt中JSON使用的詳細步驟

    本文主要介紹了Qt中JSON使用的詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 基于C語言sprintf函數(shù)的深入理解

    基于C語言sprintf函數(shù)的深入理解

    本篇文章是對C語言中的sprintf函數(shù)進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 詳解c/c++賦值函數(shù)(重載=號運算符)

    詳解c/c++賦值函數(shù)(重載=號運算符)

    大家都知道c++里的各種運算符都是用函數(shù)實現(xiàn)的,比如=就等號函數(shù),所以當用=給一個對象賦值的時候,實際調(diào)用的是=號所對應(yīng)的=號函數(shù)。下面通過本文給大家介紹c/c++賦值函數(shù)(重載=號運算符),感興趣的朋友一起看看吧
    2018-08-08

最新評論