fdsfsd輸入sdfsfds高中的時候,一直沒有搞懂字串與字元陣列的關係。現在知道了其中的一點點,於是就寫了下來。
字元陣列可以用cout出來,而不用乙個乙個地用下標索引。
1 #include輸出陣列時,輸出的內容會一直讀到字串的0\為止,如果讀取的字串中沒有0\ 那麼,就會一直讀取相鄰記憶體區段的值,知道0\。2 #include
3using
namespace std;
4void main()
5
在記憶體中,0\是很常見的。 這也就導致輸出字元陣列時,如果不注意就會出現亂碼。
下面注釋第7行,來測試結果。
1 #include輸入2 #include
3using
namespace std;
4void main()
5
輸出
在這裡就出現了亂碼。
分析原因:
字元陣列沒有初始化,而陣列長度是6,使用者輸入的資料只能擷取6個,但是這6個中沒有出現0\
所以 cout顯示的結果,一直到names這陣列的相鄰區域,直到發現了0\
總結:
字元陣列 為了防止出現亂碼,務必要初始化。
字串和字串陣列
字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...
字串和字元陣列
void test1 函式test1中,指標str1所指向的字串有11個元素。一定要注意字串是以 0 為結尾的,而strcpy拷貝了整個字串包括 0 所以存在下標越界的問題。void test2 函式test2中,字元陣列str1包含10個元素。陣列str1並不是以 0 結束,所以不能作為字串使用。...
字串和字元陣列
字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包含子串的串稱為主串,子串的第乙個字元在主串的序號成為子串在主串的位置。字串的比較 當下列條件之一成立時,稱x ...