• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • c/c++中字符串常量的不相等性,以及字符串的copy

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    //程序作者:管寧 //站點:www.cndev-lab.com //所有稿件均有版權,如要轉載,請務必著名出處和作者 #include iostream using namespace s td ; void main(void) { if("test"=="test") { cout"相等"; } else { cout"不相等"; } } 上面的代碼我們 測試 兩個內容為t
    //程序作者:管寧
    //站點:www.cndev-lab.com
    //所有稿件均有版權,如要轉載,請務必著名出處和作者

    #include <iostream>
    using namespace std;
    void main(void)
    {
    if("test"=="test")
    {
    cout<<"相等";
    }
    else
    {
    cout<<"不相等";
    }
    }



    上面的代碼我們測試兩個內容為test的字符串常量是否相等,按照常理,應該是相等的,這些在一些過程式語言中會得到相等的結論,但在c/c++卻不是這樣。

    為什么呢?

    答案在這里:因為字符串常量存儲在計算機內存中,兩個字符串常量的地址均不相同,所以這樣的比較自然就不會得到我們所需要的結果,如果要進行是否相等的比較應該使用strcmp()這個涵數進行比較!


    //程序作者:管寧
    //站點:www.cndev-lab.com
    //所有稿件均有版權,如要轉載,請務必著名出處和作者

    #include <iostream>
    #include <string>
    using namespace std;
    void main(void)
    {
    if(strcmp("test","test")==0)
    {
    cout<<"相等";
    }
    else
    {
    cout<<"不相等";
    }
    cin.get();
    }


    strcmp()的函數原形是,int strcmp(const char* str1,const char* str)

    相當將會返回一個等于0的整數,不相等的時候將會返回一個非0整數!


    //程序作者:管寧
    //站點:www.cndev-lab.com
    //所有稿件均有版權,如要轉載,請務必著名出處和作者

    #include <iostream>
    #include <string>
    using namespace std;
    void main(void)
    {
    char test[]="test str!";
    char str[15];
    strcpy(str,test);
    cout<<str<<endl;

    int a[]={1,2,3,4,5};
    int b[5];
    memcpy(b,a,sizeof(a)*sizeof(int));
    for(int i=0;i<5;i++)
    {
    cout<<b[i]<<",";
    }
    cin.get();
    }


    上面的代碼中的strcpy用來處理字符串數學組的copy,由于字符串數組屬于const char*也就是常量指針所以是不能用a="test str!";的方式賦值的,接在后面的memcpy用于處理非\0結尾的數組的copy處理,memcpy第三個參數是設置b在內存中所需要的內存空間大小所以用sizeof(a)*sizeof(int)來處理!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>