C語言,只要是字串,就算是儲存到陣列中,一旦遇到 0就表示輸入結束?

時間 2022-12-09 19:05:43

1樓:

正確選項是c。對你疑問的回答是肯定的!

2樓:網友

'\0' 為字串的結束符,選c。

c語言若要表示字元\應寫為「\\」還是'\\'

3樓:

char *p = "hello world";

char c = 'a';

上面你應該看的出來了雙引號裡面的是「字串」(c語言貌似沒有字串這中說法)單引號表示「字元」

顯然你要的是字元啊。 這是一種常量的固定寫法。

所以應該寫 '\\'  這是字元常量中的一種特殊的轉義字元常量

4樓:匿名使用者

字元當然是單引號

字串才用雙引號

5樓:網友

要用單引號 , '\\'

c語言在陣列後面新增結束符'\0'的小問題~

6樓:匿名使用者

乙個是整型陣列,乙個是字元陣列,不一樣的.整型資料不是以\0結束的,而字元陣列最後要存放乙個\0的.如int a[4],可以存放4個int型資料,如int a[4]=char a[4],也可存放4個字元,但最後乙個字元得為\0,不然不能正常輸入字串.

char a[4]=,當然'\0'也可以省略,char a[4]=但不能是char a[4]=,輸出的時候會有亂碼,因為沒有結束標誌.

7樓:匿名使用者

在字串陣列的末尾加上\0表示字串結束. 如果沒有這個\0,那麼在使用系統函式處理這個字串的時候,函式就不能準確判斷字串在**結束.從而導致陣列越界.

如: 第2個函式中陣列如果沒有加\0, 則在使用printf 函式列印字串的時候就會在末尾顯示越界後的字元,通常情況下是亂碼.

關於字元陣列中的結束識別符號『\0』,是怎麼加啊的

8樓:匿名使用者

直接在字元陣列最後乙個字元後面加上'\0'。

例如:char a[10],需要存放「hello」字串:a[0]-a[4]分別存放h,e,l,l,o;a[5]存放'\0';

在c語言中沒有專門的字串變數,通常用乙個字元陣列來存放乙個字串。字串總是以'\0'作為串的結束符。因此當把乙個字串存入乙個陣列時,也把結束符 '\0'存入陣列,並以此作為該字串是否結束的標誌。

有了'\0'標誌後,就不能再用字元陣列的長度來判斷字串的長度了。

9樓:林明泉

定義char a[30],如果沒有初始化,從a[0]到a[29]都是'\0',也就是數值0(強制型別轉換為int就等於0);

char a[30] = "hello",從a[5]到a[29]都是'\0',a[30]未知;

另外你可能不明白:char a = '\0'; 表示式(int)a==0; 為true;

『\0』是字串結束的標誌,比如定義:char a = "hello"; 則a[5] = '\0', a[6]未知。

c語言,字元陣列中最後乙個字必須為『\0』,為什麼錯?

10樓:英雄no無敵

不是字元陣列中最後乙個字元必須為'\0',如果字元陣列中存放的是乙個字串,則最後乙個字元應當'\0','\0'是結束符號,這樣當輸出這個字串時,只須輸入陣列名就可以,輸出函式會自動輸出陣列中的字元,直到遇到'\0'為止,否則你就要利用迴圈自己將字元乙個乙個的輸出,而且還要判斷該字元是不是所需要的字元,明白了麼?

11樓:網友

'\0'是為了關閉字串,如果不關閉,那麼就要爆掉!

所以開陣列時要開大!

c語言是怎麼儲存字串的?末尾的\0需要自己手動輸入嗎?

12樓:匿名使用者

c語言中的字串,應該說是指字串常量,如:"hello", "how are u"等,這些常量字串本身在末尾存有乙個\0,因\0是不可見字元,所以,看不到。

可以把字串儲存到乙個字元陣列中,儲存方法分為三種:

1、定義字元陣列,用常量字串進行初始化

char str1[10]="hello";      //sizeof(str1)=10

char str2="how are u" ;   //未指定陣列大小,按初始化字串實際大小開闢陣列空間,sizeof(str2)=10 ; 9個字元+1個\0  通過此方法,可以驗證常量字串中含有\0

2、定義字元陣列,不初始化,採用字串賦值操作函式進行賦值

char str[100];

strcpy( str, "hello"); //字串拷貝

sprintf(str, "%s world", "hello"); //格式化輸入,得到hello world

以上函式會自動在字串尾賦值字串結束符

3、定義字元陣列,不初始化,採用迴圈,逐位賦值字元,並在結束位置賦值\0

char str1[10];

char str2="hello" ;

int i,j;

for(i=0,j=0;str2[i]!='\0';i++ ) //遍歷字串str2

if ( i%2 ) //只取偶數字

str1[j++]=str2[i];

str1[j]='\0'; //手動賦值結束符

13樓:匿名使用者

乙個乙個儲存的 在字元陣列裡 \0不需要自己寫 獨到支付串末尾會自動形成\0 %s 是字串。。。。。如printf("%s",a) 表示列印字元竄a中儲存的內容 還有printf("%c",&a) 表示列印位址a 中內容。。。。

14樓:匿名使用者

c語言是用字元組數來儲存字串的。。比如字元「hello」 你可以定義乙個char a[6] ;也可以動態申請空間。。。

2. 末尾的\0是不用自己輸入的,編譯器會自動幫你加上。。

%s 是屬於字串的格式控制符。。。所以%後面的字母肯定是要講究的。。。比如整數的格式控制串是%d, float 的是%f, double 的是 %lf 等。。。

15樓:匿名使用者

有三種方法:一種是宣告字元陣列,如 char a,這種宣告方法最多能儲存10個字元,如果通過鍵盤輸入,如果超出10個字元長度,會自動截斷,只儲存10個,如果不足,則會在空位上補'\0',另一種是字串指標 char *s;這種宣告方法是不會限制多少個字元,因此可以給s任意賦值,如 s="string", s="akjfasgjaga"等,系統會自動在字串的末尾加上'\0';最後一種方法是建立struct 型別,此種型別中包含有char成員,通過malloc或calloc函式來動態地新增長度(這種方法一次新增乙個或一組struct型別的資料,此時只要你不手動輸入,是不會有'\0'的)

%s 是用printf函式輸出時,只是按照字串輸出的固定結構

c語言裡如何輸入幾個字串放到乙個陣列中

16樓:你不愛吃烤肉

方法如下:

#include

void main()

}擴充套件資料:c語言是一門通用計算機程式語言,廣泛應用於底層開發。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

c語言常用詞彙有:

條件 condition

變數 variant

過程 process

優先 priority

運算 operation

返回值 return value

函式 function

宣告 declare

引數 parameter

靜態的 static

外部的 extern

引用 reference

元素 element

位址 address

排序 sort

字元 character

字串 string

指標 pointer

引數 argument

陣列 array

宣告 declaration

表示 represent

處理 manipulate

成員 member

標記 tag

函式 function

列舉 enumerate

聯合 ( 共用體 ) union

建立 create

插入 insert

刪除 delete

修改 modify

17樓:阿鸞

首先,c語言沒有字串型別,但是字元陣列或者字元指標可以表示字串。

所以你可以把幾個字串分別放到幾個不同陣列:

例如:char str1[10] = "abcdefg";

char str2[10] = "qwerty";

注意,定義字元陣列時可以使用=直接賦值,非定義階段,不能用等號直接對字元陣列賦值,應該使用庫函式strcpy

例如char str[10];

strcpy(str,"abcdefg");

另外,如果非要把多個字串輸入到同一陣列,可以這樣:

char str[20];

strcpy(str,"abcdefg");

char *p = str ;

p += strlen("abcdefg");

strcpy(p,"qwerty");

printf("%s",str);

輸出結果是 abcdefgqwerty

18樓:匿名使用者

#include

void main()

}這個實現的是輸入的每乙個字串存放在二維陣列s的一行中

19樓:匿名使用者

for (i = 0; i < 10; i++)

gets(s[i]);

c語言中,「儲存字元陣列中的最後乙個字元必須是'\0' 」,這句話為什麼是錯的?

20樓:it圈新鮮事

字元陣列最後乙個不是\0,只有字串才是。

21樓:網友

字元陣列最後乙個字元未必要是'\0'

字串才是

c語言字串加密,C語言 字串加密

include include include int main void else else if c i a c i z else else printf s n c return 0 string a welcome string b null int num a.length int asc...

C語言拆分字串,C語言字串拆分

原始程式有錯 s要求char 引數 但是 sp i 為char型 應去掉 修改補充如下 include include void splitstr char s,char d if p 0 break p r i null d r int main include const int maxstrl...

c語言定義字串陣列,C語言 如何定義字串陣列

天方夜譚的哆啦a夢 c語言字串陣列中的每乙個元素均為指標,即有諸形如 ptr array i 的指標。由於陣列元素均為指標,因此ptr array i 是指第i 1個元素的指標。例 如二維指標陣列的定義為 char ptr array 3 擴充套件資料 字串陣列陣列元素表示方法 陣列元素的一般形式為...

c語言的字串宣告問題,C語言的字串宣告問題

簡單說一下 字串陣列是用來存放字串的陣列,在記憶體中佔一段連續的單元。所佔記憶體存放的是字串。定義方法為 char a n n為常量表示式,可初始化。字元指標是指向字元的指標,所佔記憶體單元存放的是所指字元的記憶體單元。定義方法為 char p 完整的解答 1 字元陣列由若干個元素組成,每個元素中放...

C語言中有哪些字串處理函式,C語言字串處理的庫函式有哪些

你可以看一下頭檔案string.h和stdio.h裡面的相關函式宣告,好多好多。這裡就不一一列出了 比如下面列出的只是其中一部分 crtimp char cdecl strcpy char const char crtimp char cdecl strcat char const char crt...