字串輸入,用迴圈加scanf也能做到

2021-10-04 16:32:31 字數 649 閱讀 8979

比如輸入乙個100長度的字串往往會這樣做

#include

using

namespace std;

intmain()

return0;

}

如果不使用string和stl,

只使用char陣列來存的話,就是有很多可能會浪費很多空間和存不下長度怎麼辦呢,比如你的字串長度為50,那麼另外50的空間就浪費了沒有用到,還有如果你要輸入的字串長度為200,那麼另外100是不能被存入的。

比如輸入i am a boy 這個字串,可以使用while加scanf進行單個字元逐個輸入

這裡簡單提一下scanf的另乙個強大功能,scanf可以在執行框內連續輸入多個字元,後邊的字元在前面的字元進行操作後,隨後輸入,從這方面看scanf有一定的儲存功能。這樣即使不知道字串長度也能輸入,而且不會出現浪費和陣列越界問題。

字串 scanf函式輸入字串詳解

除了在定義字元陣列時初始化外,還可以通過scanf從鍵盤輸入字串。下面寫乙個程式 用 scanf 給字元陣列賦值不同於對數值型陣列賦值。前面講過,給數值型陣列賦值時只能用 for 迴圈乙個乙個地賦值,不能整體賦值。而給字元陣列賦值時可以直接賦值,不需要使用迴圈。此外從鍵盤輸入後,系統會自動在最後新增...

字串擷取迴圈加一

1.記錄一下字串迴圈加一的解決辦法。2.需求 按照 ach02100001 的格式進行迴圈新增,格式為自動加1 3.想法 將資料庫裡面的值進行字串擷取後五位,然後迴圈加一,最後和前面六位進行拼接。4.實現 第一步 資料庫擷取後五位。select select max right t.custom n...

關於scanf連續輸入字元或字串等

include stdio.h main 以上程式不能實現程式應有的功能,因為輸入i時的回車符號會被讀入m中,輸出m的時候只是輸出回車符。如何解決這個問題呢?請看如下 include stdio.h main 以上的情況應該是主要針對scanf中有 c的情況。輸入帶空格的字串 得用gets 函式來輸...