c語言我的字元串無法賦值,c語言沒有賦值

本文目錄一覽:

C語言我的字元串無法賦值

你把

printf(“\t\t%s\n”,p[20]);

換成

printf(“\t\t%s\n”,p);

就可以了

怎麼進行字元串賦值?C語言

在C語言中,字元串的賦值主要有兩種方法,第一種是通過指針的方式直接賦值,第二種是通過數組直接賦值。

1、指針式賦值。

通過程序的運行情況,可以知道:char *p = “hello”;這種字元串的賦值方式是完全沒有問題的。要理解這種賦值方式,首先得理解雙引號(特別注意:這個是雙引號,不要賦值的時候給弄了個單引號)在這個語句中做了什麼工作。雙引號主要做了3個工作,分別是:

(1)申請了空間(在常量區),存放了字元串。

(2)在字元串尾加上了「\0」。

(3)返回地址。

這裡所返回的地址就賦值給了char *類型的指針變數p。

2、通過字元數組直接把字元串賦值。程序如下:

擴展資料:

字元串賦值需要注意的一些問題:

直接把字元串賦值給數組名(也就是數組首元素的首地址)是不行的。

會出現以下錯誤:

參考資料:

百度百科–字元串賦值

C語言中怎麼字元串賦值?

需要準備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,輸入C語言代碼:char a[20];strcpy(a, “hello”);printf(“%s”, a);。

3、編譯器運行test.cpp文件,此時成功將字元串賦值給了字元串a並列印。

關於C語言字元串賦值的問題

str[10]=’\0′;

以上這行是越界操作。但是在這個程序中str[10]這個單元是編譯留空的,沒有與其他變數衝突,所以不出錯。在VC下,如果改成12,就與 i衝突了。以下例子可知 str[12]=’\0’相當於把i置為0:

#include stdio.h

void main()

{

int i;

char str[12];

for(i=0;i12;i++)

str[i]=i+’a’;

printf(“i=%d\n”, i);

str[12]=’\0′;

printf(“%s\n”,str);

printf(“i=%d\n”, i);

getch();

}

在其他編譯環境中,可能影響在str後面聲明的變數。

c語言為什麼 字元串不能直接賦值 比如 int a[10]; a = “wenti”;

數組名代表首地址,你定義int

a[10],系統會給你開闢空間,當a[10]的生存周期結束,系統就會通過它的地址也就是a來釋放它。a

=

“wenti”實際上是字元串常量”wenti”的首地址賦值給了a,如果可以直接賦值,那麼當a[10]的生存周期結束的時候,系統就找不到它的開闢的空間了,就無法釋放它的空間,所以不能直接賦值!

原創文章,作者:UYPA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/143332.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UYPA的頭像UYPA
上一篇 2024-10-14 18:47
下一篇 2024-10-14 18:47

相關推薦

  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中將字元串轉化為浮點數

    本文將介紹在Python中將字元串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字元串轉化為…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python如何將字元串1234變成數字1234

    Python作為一種廣泛使用的編程語言,對於數字和字元串的處理提供了很多便捷的方式。如何將字元串「1234」轉化成數字「1234」呢?下面將從多個方面詳細闡述Python如何將字元…

    編程 2025-04-29

發表回復

登錄後才能評論