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

正在閱讀: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
主站蜘蛛池模板: 久久久久久免费精品视频 | 九色精品视频在线观看 | 青青青国产在线手机免费观看 | 九九网| 亚洲综合激情 | 色小妹综合 | 欧美精品国产第一区二区 | 国产一级特黄生活片 | 欧美日本一区亚洲欧美一区 | 草草影院第一页yycccom | 热久在线| www.色午夜.com| 欧美精品成人a多人在线观看 | 免费高清一级欧美片在线观看 | 中文字幕日本一区波多野不卡 | 亚洲精品自拍视频 | 免费观看h片 | 成人a大片高清在线观看 | 国产精品亚洲一区二区三区久久 | 国产最新精品 | 国产91在线 | 日韩 | 亚洲国产成人久久综合一区 | 黄色生活毛片 | 免费高h影片在线观看 | 视频亚洲一区 | 99久女女精品视频在线观看 | 黄色的网站在线观看 | 久久久国产视频 | 中文字幕五月天 | 亚洲图片国产日韩欧美 | 成人欧美视频 | 日韩欧美第一页 | 高清亚洲综合色成在线播放放 | 伊人插插 | 国产亚洲午夜精品a一区二区 | 久久伊人亚洲 | 特级一级全黄毛片免费 | 久久精品国语 | 色婷婷99综合久久久精品 | 久久98| 羞羞的视频网站 |