国产一区在线观看视频-国产一区在线免费观看-国产一区在线视频-国产一区在线视频观看-国产一区中文字幕在线观看-国产一线二线三线女

正在閱讀:C/C++中字符串常量的不相等性及字符串的CopyC/C++中字符串常量的不相等性及字符串的Copy

2005-03-02 09:46 出處:PConline 作者:管寧 責任編輯:huangpeidan

#include <iostream
 
void main(void

    if("test"=="test") 
    { 
        cout<<"相等"; 
    } 
    else 
    { 
        cout<<"不相等"; 
    } 
}



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

  為什么呢?

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

#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整數。

#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)); 
    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)來處理。

302 Found

302 Found


Powered by Tengine
tengine
主站蜘蛛池模板: 青娱乐伊人 | 91青草久久久久久清纯 | 高级毛片| 全黄一级裸片视频免费区 | 久草视屏 | 日韩成人精品 | 久久久中文字幕 | 久热re在线视频精品免费 | 久久毛片 | 欧美三级久久 | 国产日本久久久久久久久婷婷 | 亚洲精品九色在线网站 | 国产日韩欧美在线一区二区三区 | 成人欧美在线观看免费视频 | 色片在线免费观看 | 亚洲美女亚洲精品久久久久 | 一本一本久久a久久综合精品蜜桃 | 亚欧有色亚欧乱色视频 | 国产一区二区三区播放 | 亚洲国产一级a毛片 | 久久午夜影院 | 四虎综合网 | 日本久操视频 | 欧美在线一级毛片视频 | 看特级大黄一片 | 在线免费黄色片 | 国产欧美另类性视频 | 青草小视频 | 老司机午夜永久在线观看 | 国产福利区一区二在线观看 | 久久亚洲国产最新网站 | 久草观看视频 | 天天视频国产精品 | 久久一卡二卡 | 夜色成人免费观看 | 91色综合综合热五月激情 | 在线观看91精品国产不卡免费 | 在线亚洲欧美日韩 | 久久综合狠狠综合久久综合88 | 97在线视频免费公开观看 | 国产精品久久久久毛片真精品 |