二维字符数组按长度排序_字符串长度 字符数组长度
如:“abc!x=/”,其長度為 7
2、帶轉義字符的字符串(1) 字符串“abcn”:其中的'n'為轉義字符(換行符),計算字符串長度時只能計作一個字符,所以該字符串的長度為4(而
不是5)。
(2) 字符串“abcn'"":其中有4個轉義字符:'n'(換行符)、''(反斜杠)、'''(單引號)、'"'(雙引號),所以該字符串的長度為7(而不是11)。
(3) 字符串“abc0xyz”:其中有一個轉義字符'0',它是字符串結束符,所以,當用函數strlen來測試該字符串的長度時,結果應該為3(而不是7)。
(4) 字符串“abc0xy”:其中有一個轉義字符''(反斜杠),這樣,后面的字符串“0xy”照樣計算,所以,該字符串的長度為7(而不是將第二個反斜杠與其后的0結合為一個轉義字符'0',若那樣的話,第一個反斜杠將無法處理,因為一個轉義字符總是由反斜杠加其他字符組成的,單獨的一個反斜杠不能作為任何合法的字符)。
(5) 若將字符串“abc0xy”改為“abc0xy”:則其中有二個轉義字符''(反斜杠)和'0'(字符串結束符),這時,當用函數strlen來測試該字符串的長度時,結果應該為4(而不是7)。
(6) 若將字符串“abc0xy”改為“abc061xy”:則其中有二個轉義字符''(反斜杠)和'061'(ASCII碼值等于061的字符,也即數字字符'1'),'x12'(1和2為兩個16進制數,同上),這時,當用函數strlen來測試該字符串的長度時,結果應該為7(而不是4或9)。所以,當遇到轉義字符'0'時,還要看其后面是否還有數字,若有,則應將后面的數字(一至二位)與前面的'0'相結合作為一個字符計入整個字符串的長度。若用printf(“abc061xy”);輸出,則輸出結果為:abc1xy
1、char指針引導的字符數組:
strlen返回字符數組的長度,包括空格。#include<iostream>#include<cstring>using namespace std;int main(){const char* p = "hell o"; //因為"hell o"是常量型的,所以要加constcout<<strlen(p);return 0;}結果:
2、char數組:
#include<iostream>#include<cstring>using namespace std;int main(){char p[] = "hell o";cout<<strlen(p);return 0;}結果:
3、string字符串的長度:
#include<iostream>#include<cstring>using namespace std;int main(){string p = "hell o"; cout<<p.length();return 0;}結果:
4、char數組結束符 0:
#include<iostream>#include<cstring>using namespace std;int main(){const char* p = "hel0l o";cout<<strlen(p);return 0;}結果:
5、string字符串結束符 0:
#include<iostream>#include<cstring>using namespace std;int main(){string p = "hel0l o";cout<<p.length();return 0;}結果:
總結
以上是生活随笔為你收集整理的二维字符数组按长度排序_字符串长度 字符数组长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: feign调用第三方接口_讲一个你不知道
- 下一篇: access无法 dolby_如何解决w