回覆列表
  • 1 # ldnuh11115

    比較字元可以直接使用==比較運算子,如:char c1="a",c2="b";if(c1==c2) printf("%c is same as %c.",c1,c2);else printf("%c is different to %c",c1,c2);若是字串,則需要使用字串函數了,strcmpchar s1[]="abc",s2[]="xyz";if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);也可以忽略大小寫來比較,使用函式stricmp 中間的i意思是ignore case sensitive還可以指定長度比較,strncmp,如:char s1[]="abc",s2[]="abcdefg";if(strncmp(s1,s2,3)==0) printf("first 3 characters are same");若不是從開頭位置開始比較,如:char s1[]="abc",s2[]="xyzabc"if(strncmp(s1,&s2[3],3)==0) 就是比較s1和s2的第3個字元開始的內容

  • 2 # 使用者7724043881117

    可以直接比較

    str=="abc" 為真,因為是相同的。

    上式等價於 "abc"==str

    string str2(‘a’); 是錯誤的,strin建構函式無法將字元型轉為字串。

    應該為 string str2("a",100); //100個a

    str2==’a‘ 是錯誤的,不能將字元型別和字元陣列型別比較。

    str2=="a" 和前面是一個道理。

    string 型別和C字串型別直接比較就行了,過載了運算子的。

  • 中秋節和大豐收的關聯?
  • 蒸饅頭的鍋上面應不應該有排氣孔?