c語言,關於字串

2022-06-11 18:40:02 字數 563 閱讀 6314

1樓:匿名使用者

mark 這個分析了下還挺複雜 想想先~

2樓:匿名使用者

這樣子話幾乎是沒有辦法實現的。因為哪一些字元屬於子串是不確定的,big可能是乙個子串,igb可能是乙個子串,gba可能是乙個子串。

不過當你確定你需要查的子串時,可以進行判定的。比如查詢這個字串裡有多少個"big"。

我這裡提供乙個思路參考。

這是乙個字串 string str1 = "bigbagbigbagwaterbigbag";

先取出這個字串的0-2位置的字元(3個)來與"big"比較,

如果相同則 用乙個int 的變數 int a++記錄,接著取str1字串的1-3位置的字元出來與"big"

比較,如此迴圈進行比較。

當然在這之前有幾個引數需要確定。

1.字串 str1 的長度 (用來控制迴圈的次數)

2."big" 的長度 (控制從字元中str1取幾位出來比較)

3樓:北丹丹

找是找的出來的,但可能還要和英文單詞庫對比……

c語言字串陣列逆序問題,C語言字串陣列逆序問題

第乙個問題 字串陣列的長度不包括最後的 0 第二處問題 1 把 for i 0 str1 i 0 i 後面加上乙個分號 2 把for i 0 str1 i 0 i 後面的花括號去掉 3 再把 puts str1 前面的花括號去掉就可以了 程式如下 include stdio.h int main c...

C語言字串陣列

不是的,printf裡 s是通過後面的name定址到該記憶體單元,然後從該記憶體單元開始讀取資料,知道 0 字元結束。所以會把你輸入的東西輸出 是的,但是 s的含義是,把從這個位址開始的內容當作ascii碼依次輸出來,直到碰到 0 就是一種機械的做法 比如 int a printf s a 會輸出a...

C語言字串問題

本質原因是 陣列名是個常量,不可以賦值。所以char s 10 s world 是不合法的,因為你在給乙個常量賦值。而char s 10 實際上是給s的元素賦值。即 計算機先分配乙個空間,把空間的位址初始化給s,此時s已經是個字元指標常量了,以後不能給他賦值了。接著 實際上是給s這個陣列裡的元素賦值...