回覆列表
  • 1 # kdotn40579

    chars[20];s="helo";這樣錯誤的原因就是:不能用賦值語句將一個字串常量直接給一個字元陣列賦值。chars[20];charss[]="hello";s=ss;錯誤原因是:不能用賦值語句將一個字元陣列直接給一個字元陣列賦值,即字串的複製(c語言中,但是在c++的string類,上面的賦值是正確的)必須用strcpy()函式實現。而chara[]=”toyou“;正確的原因是:因為在宣告陣列變數的時候就是,為其開闢空間,併為其初始化,這樣才是符合c語言語法的。擴充套件資料:C語言中字串賦值的理解一、指標式賦值上面的示例是顯然可以正常執行的,也是很容易理解的。但是下面這種方式就令人有點難以理解了。透過程式的執行情況,我們可以知道:char*p="hello";這種字串的賦值方式是完全沒有問題的。要理解這種賦值方式,我們首先得理解雙引號(特別注意:這個是雙引號,不要賦值的時候給弄了個單引號)在這個語句中做了什麼工作。雙引號主要做了3個工作,分別是:(1)申請了空間(在常量區),存放了字串。(2)在字串尾加上了“\0”。(3)返回地址。這裡所返回的地址就賦值給了char*型別的指標變數p。二、透過字元陣列直接把字串賦值。程式如下:三、需要注意的一些問題直接把字串賦值給陣列名(也就是陣列首元素的首地址)是不行的。

  • 2 # 使用者3417633067606

    用strcpy函式!

    原型宣告:extern char *strcpy(char *dest,char *src);

    標頭檔案:string.h

    功能:把src所指由NULL結束的字串複製到dest所指的陣列中。

    說明:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。

    返回指向dest的指標。

    例子:

    #include

    #include

    int main()

    {

    char src[128] = "hello world";

    char dest[128] = {0};

    strcpy(dest, src);

    printf("dest = %s\n", dest);

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 如何讓初一學生儘快適應中學新生活?