string 中的 length函數 和size函數 返回值問題


string 中的 length函數 size函數 的返回值??( ?還有 char [ ] 中 測量字符串的??strlen 函數?)

應該是 unsigned int 類型的

不可以 和 -1 比較。

應盡量避免 unsigned int 類型 和 int類型 數據 的比較 。
unsigned int 類型 和 int類型 數據 比較 時 ,會 把int 類型 轉換 為 unsigned int類型 。如果 int是負數 ,轉換 為 unsigned int 會是 一個 很大 的正整數,所以 比較的時候 會危險
若 將 unsigned int 強制 轉換 為 int 再比較 時,不能說 沒有 問題。我覺得 也可能會 出現問題,相對來說 還是 比較好的。(摘自strlen返回值的問題


-------------------------------------------------------------------------------------------------------------------------

// 例1
// string a="abcd";
// -1 和 a.length() 的比較結果

//代碼

#include<iostream>
#include<string>
using namespace std;
int main()
{string a="abcd";cout<<"a-----"<<a<<endl;cout<<"a.length()-----"<<a.length()<<endl;if( -1 >= a.length() )cout<<"*************"<<endl;return 0;
}

輸出:

a-----abcd
a.length()-----4
*************
Press any key to continue

-------------------------------------------------------------------------------------------------------------------------


// 例2
// string a="abcd";
// -1 和 a.size() 的比較結果

//代碼

#include<iostream>
#include<string>
using namespace std;
int main()
{string a="abcd";cout<<"a----"<<a<<endl;cout<<"a.size()----"<<a.size()<<endl;if(-1>=a.size())cout<<"*************"<<endl;return 0;
}

輸出:

a----abcd
a.size()----4
*************
Press any key to continue

-------------------------------------------------------------------------------------------------------------------------

// 例3
// char a[100]="abcd";
// -1 和 strlen(a) 的比較結果

//代碼

#include<iostream>
#include<string>
using namespace std;
int main()
{char a[100]="abcd";cout<<"a----"<<a<<endl;cout<<"strlen(a)----"<<strlen(a)<<endl;if( -1>=strlen(a) )cout<<"*************"<<endl;return 0;
}
輸出:

a----abcd
strlen(a)----4
*************
Press any key to continue







轉載于:https://www.cnblogs.com/bofengyu/p/4477453.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375716.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

交叉編譯android版htop

編這個東西賊煩人。 話不多說&#xff0c;直接上教程 源代碼版本&#xff1a;htop-2.2.0、ncurses-6.1 編譯之前要確認自己有ndk&#xff0c;從【官網】直接下載&#xff0c;下載下來解壓一下就能用。 先編ncurses 編譯過程 ./configure CCarm-linux-androideabi-gcc-4.9 \-…

今天的一點點收獲

今天怎么說呢&#xff0c;還是有點收獲的&#xff0c;上午寫了一上午的前端&#xff0c;然后就是下午又是一下午的c#&#xff0c;好特么酸爽啊&#xff0c;但是有一件特別蛋疼的事情發生了&#xff0c;我 天天叫的學長竟然不是學長而是學校的而老師&#xff0c;但是他們都不叫他…

jquery動態添加刪除div--事件綁定,對象克隆

我想做一個可以動態添加刪除div的功能。中間遇到一個問題&#xff0c;最后在manong123.com開發文摘 版主的熱心幫助下解答了(答案在最后) 使用到的jquery方法和思想就是&#xff1a;事件的綁定和銷毀(unbind)&#xff0c;另外還可以使用clone,通過克隆可以很好的解決這個問…

編程知識大雜燴

以下資料完全是隨手記錄&#xff0c;沒有任何順序或關聯&#xff0c;需要用直接^F找就行了。 1. ps aux指令詳解 http://blog.csdn.net/hanner_cheung/article/details/6081440 2. Linux下配置Apache php http://lelong.iteye.com/blog/904125 3. shell定義變量 http://see.xid…

最長公共前綴

2、最長公共前綴 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴&#xff0c;返回空字符串 “”。 示例1 輸入: ["flower","flow","flight"] 輸出: "fl"示例2 輸入: ["dog","racecar",…

devexpress中gridcontrol頭部添加垂直線(右邊框)

winform開發&#xff0c;用devexpress中的gridcontrol控件&#xff0c;頭部默認是3D樣式&#xff0c;當客戶希望像內容一樣扁平化顯示且需要添加垂直線(右邊框)時惡夢開始了。。經過一陣摸索發現可以這樣解決&#xff1a; 1.設置GridControl的GridView控件的PaintStyleName屬性…

UITableView知識梳理須知—(一)

1、UITableView掌握 1> 設置UITableView的dataSource、delegate 2> UITableView多組數據和單組數據的展示 3> UITableViewCell的常見屬性 4> UITableView的性能優化&#xff08;cell的循環利用&#xff09; 5> 自定義Cell 2、什么是UITableView 在i…

Yarn中的幾種狀態機

1 概述 為了增大并發性&#xff0c;Yarn采用事件驅動的并發模型&#xff0c;將各種處理邏輯抽象成事件和調度器&#xff0c;將事件的處理過程用狀態機表示。什么是狀態機&#xff1f; 如果一個對象&#xff0c;其構成為若干個狀態&#xff0c;以及觸發這些狀態發生相互轉移的事…

反轉字符串里的單詞

4、反轉字符串里的單詞 給定一個字符串&#xff0c;逐個反轉字符串中的單詞 示例1&#xff1a; 輸入: "the sky is blue", 輸出: "blue is sky the".說明&#xff1a; 無空格字符構成一個單詞。 輸入字符串可以在前面或者后面包含多余的空格&#xff0…

正整數

題目鏈接&#xff1a;http://acm.hust.edu.cn/vjudge/contest/view.action?cid84077#problem/A 題目&#xff1a; Description A magic island Geraldion, where Gerald lives, has its own currency system. It uses banknotes of several values. But the problem is, the s…

360 webscan中防注入跨站攻擊的核心

//get攔截規則 $getfilter "\\<.javascript:window\\[.{1}\\\\x|<.*(&#\\d?;?)?>|<.*(data|src)data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d?|sleep\s*?\\([\d\.]?\\)|load_file\s*?\\()|<[…

POJ 2115 C Looooops(擴展歐幾里得)

輾轉相除法&#xff08;歐幾里得算法&#xff09; 時間復雜度&#xff1a;在O(logmax(a, b))以內 int gcd(int a, int b) {if (b 0) return a;return gcd(b, a % b); }擴展歐幾里得算法 時間復雜度和歐幾里得算法相同 int extgcd(int a, int b, int& x, int& y) {int …

分支管理(轉載)

轉自&#xff1a;http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743862006503a1c5bf5a783434581661a3cc2084efa000 分支就是科幻電影里面的平行宇宙&#xff0c;當你正在電腦前努力學習Git的時候&#xff0c;另一個你正在另一個平行…

匹配括號

輸入&#xff1a; 僅包含{,},(,),[,]的字符串輸出&#xff1a; 如果括號匹配輸出&#xff1a;YES 否則輸出&#xff1a;NOSolution&#xff1a; #include<iostream> #include<string> #include<stack> using namespace std;bool check(const string&)…

總線接口與計算機通信

微機中總線一般有內部總線、系統總線和外部總線。 內部總線是微機內部各外圍芯片與處理器之間的總線&#xff0c;用于芯片一級的互連&#xff1b; 系統總線是微機中各插件板與系統板之間的總線&#xff0c;用于插件板一級的互連&#xff1b; 外部總線則是微機和外部設備之間的總…

uva 12442 . Forwarding Emails

“... so forward this to ten other people, to prove that you believe the emperor has new clothes.”Aren’t those sorts of emails annoying?Martians get those sorts of emails too, but they have an innovative way of dealing with them.Instead of just forwardi…

大數相加

輸入&#xff1a; 兩個用字符串表示的大整數 如a1111111111111,b222222222222222 輸出&#xff1a; 兩個數的和 Solution&#xff1a; #include<iostream> #include<algorithm> #include<string>using namespace std;int add(const char&,const char&…

Linux的進程與服務(一)

啟動的配置文件/etc/inittab&#xff0c;修改完配置文件以后 init q立即生效 # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not h…

Linux 修改swap虛擬內存大小

swap是內存的交換區&#xff1b;換句話說&#xff0c;如果內存不夠用了&#xff0c;那么系統會在硬盤上存儲一些內存中不常用的數據&#xff0c;之后將這部分數據在存儲中析構掉&#xff1b;這樣內存就又有剩余空間可以運行東東啦&#xff0c;這個過程也就是所謂的交換&#xf…

統計文章中的單詞

輸入&#xff1a; 字符串&#xff0c;其中可能包含空格&#xff0c;TAB&#xff0c;回車等&#xff0c;規定&#xff0c;僅字母數字和單引號算作單詞部分 輸出&#xff1a; 單詞的個數 Solution&#xff1a; #include<iostream> #include<string>using namespac…