C語言中將字串賦值給字元陣列的問題

2021-10-03 01:15:08 字數 434 閱讀 1509

問不能用賦值語句將乙個字串常量或字元陣列直接給乙個字元陣列賦值。「

那麼str1=「china」是不是錯的?

char a[ ]=『toyou』; 為什麼是正確的呢?

舉例如下:

char s[20];s=「helo」;這樣是錯誤的,原因就是不能用賦值語句將乙個字串常量直接給乙個字元陣列賦值。

char s[20];

char ss=「hello」;

s=ss;這也是錯誤的,原因是不能用賦值語句將乙個字元陣列直接給乙個字元陣列賦值

即字串的複製(c語言中,但是在c++的string 類,上面的賦值是正確的)必須用strcpy()函式實現。

而char a[ ]=」toyou「;為上面是正確呢???那是因為我們在宣告陣列變數的時候就是,為其開闢空間,並為其初始化,這樣才是符合c語言語法的。而上面的都是不符合語法的。

C 語言中將字串倒 輸出

include int main 用陣列實現如下 include include int main char str hello world int len strlen str char t for int i 0 i heap與stack得差別 heap是堆,stack是棧 stack得空間由作...

c語言中字串與字串陣列詳解

目錄 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 nam...

c語言中的字元陣列與字串

一 字元陣列的定義 一維字元陣列 用於儲存和處理1個字串,其定義格式與一維數值陣列一樣。char str 20 二維字元陣列 用於同時儲存和處理多個字串,其定義格式與二維數值陣列一樣。char country 10 20 country 第i個字串 二 字元陣列的初始化 字元陣列的初始化.1.可以通...