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

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

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

#include <iostream
 
void main(void

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



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

  為什么呢?

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

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

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

  相當將會返回一個等于0的整數(shù),不相等的時候?qū)祷匾粋非0整數(shù)。

#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用來處理字符串數(shù)學組的copy,由于字符串數(shù)組屬于const char*也就是常量指針所以是不能用a="test str!";的方式賦值的,接在后面的memcpy用于處理非\0結尾的數(shù)組的copy處理,memcpy第三個參數(shù)是設置b在內(nèi)存中所需要的內(nèi)存空間大小所以用sizeof(a)*sizeof(int)來處理。

302 Found

302 Found


Powered by Tengine
tengine
主站蜘蛛池模板: 国产成人一区二区视频在线观看 | 911国产在线观看精品 | 色偷偷成人网免费视频男人的天堂 | 国产亚洲精品一区二区在线观看 | 日韩国产欧美 | 亚洲香蕉在线 | 模特精品一区二区三区 | 久久婷婷国产一区二区三区 | 奇米在线视频777 | 亚洲欧美大片 | 亚洲四虎 | 性久久久久 | 奇米久久 | 国产精品国产精品 | 日日夜夜视频 | 日本特一级毛片免费视频 | 亚洲精品中文字幕一区在线 | 男人的天堂视频 | 欧美精品日日鲁夜夜 | 亚洲综合伦理一区 | 国产免费一级在线观看 | 亚洲精品一区henhen色 | 久久综合九色综合77 | 毛片aaa| 伊人激情久久综合中文字幕 | 中文字幕亚洲在线 | 久久精品免费一区二区视 | 精品欧美高清一区二区免费 | 久久欧美久久欧美精品 | 91视频免费播放 | 99视频精品在线 | 欧美刺激午夜性久久久久久久 | 特级理论片| 国产精品高清免费网站 | 色综合久久天天综合观看 | 国产欧美在线观看不卡 | 久久精品中文 | 九九九九热精品视频 | 国自产拍在线天天更新2019 | 女人18毛片a级18毛多水真多 | 久久综合噜噜激激的五月天 |