string中的find 函式返回值

2021-10-22 15:47:06 字數 853 閱讀 6097

1905111

求和1到2019中含有2019數字的和

#include

#include

using namespace std;

intmain()

} cout

}

#include

#include

using namespace std;

intmain()

} cout

}

以上兩種方式產生的答案都是相同的,但是這裡find()函式返回值如果不加以上限制則會出現一些問題

問題1:如果將限制條件改為》=0 因為我們知道find()函式找不到時返回-1,那麼》=0即可?

問題2:如果在問題1的基礎上,假設問題1的解決方法無法通過,那麼為什麼!=-1就可以解決問題?

在源字串str中查詢目的字串,string.find在未找到時會返回string::npos。

在c++中常量npos是這樣定義的:

static const size_t npos = -1;

即常量npos定義的值為-1. 但又因為npos 的型別size_t是無符號整數型別,所以npos實際上是乙個正數,並且是size_t型別的最大值。

上述**中,把find函式返回的值賦給size_t型別的變數position,而size_t型別的變數position是永遠大於等於0,所以即使find返回npos,if條件也為true。

即這裡返回值是乙個非常大的值,所以問題一的方式無法解決,但是問題二中則可以,因為規定找不到時常量為-1

string類中的find函式

string類的查詢函式 int find char c,int pos 0 const 從pos開始查詢字元c在當前字串的位置 int find const char s,int pos 0 const 從pos開始查詢字串s在當前串中的位置 int find const char s,int p...

C語言string中的find 函式

在c 中,字串型別string後面加上.find 的作用,是 string str1,str2 int i string str1 qwertyuuoesdi string str2 uu char c q i str1.find str2 從串str1中查詢時str2,返回str2中首個字元在st...

matlab中的find函式

參考部落格 find函式返回非0元素的索引 返回元素在原矩陣 向量中的索引 矩陣中的元素是一列一列儲存的 numel a 返回矩陣或向量中的元素總數 影象分割 繪製超畫素邊界 完整 sx,sy vl grad double segments type forward 計算二維影象的梯度 s find...