C語言 字串

2021-09-13 09:56:36 字數 3257 閱讀 9956

printf時,遇到\0會停止列印

字串字面量""在輸入陣列時會自動在末尾加入』\0』也就是說,字串字面量在記憶體的長度是多乙個位元組的

#include

#include

intmain

(void);

//%s遇到'\0'就會停止列印,而在ascii中'\0'就是數字0(陣列未初始化的值都是0)

printf

("%s\n"

, arr)

;char arr1=

;//這裡只輸入了5個字元'h' 'e' 'l' 'l' 'o'

char arr2=

"hello"

;//這裡輸入了六個字元"hello"和"\0"

printf

("%d\t%d\n"

,sizeof

(arr1)

,sizeof

(arr2));

printf

("%s\n"

, arr1)

;//因為arr1陣列裡沒有'\0'所以會繼續列印一直到有'\0'為止

system

("pause");

return0;

}

初始化陣列之後,不能再賦值,要使用string.h
#include

#include

#include

intmain

(void

)

# include

//引用函式庫

# include

void

main()

;//錯誤,因為沒有"\0"終止符,如果後面不為0則會出現異常

printf

("%x\n"

, str1)

;printf

("%s\n"

,str1)

;char str2[4]

=;//最後乙個賦值為\0,列印終止

printf

("%x\n"

, str2)

;printf

("%s\n"

,str2)

;char str3[5]

=;//陣列位賦值的預設為0,而ascii編號為0代表的就是\0

printf

("%x\n"

, str3)

;printf

("%s\n"

,str3)

;printf

("%d %d"

,sizeof

("abc"),

sizeof

(str3));

//"abc"字串長度為4,因為最後一位是\0,而str是乙個陣列所以長度為5,但列印字串時

//遇到\0會停止,所以也會列印出"abc"

}2cc929b0

abc2cc929c0

abc2cc929d0

abc4

5

字串常量

# include

//引用函式庫

# include

void

main()

printf

("\n%d"

,i);

//列印字串長度,利用"\0"結尾這一特性

}

字串變數(利用陣列)

# include

//引用函式庫

# include

void

main()

printf

("\n");

char

*p = str;

while

(*p)

printf

("\n");

char

*q = str;

while

(q[0])

}

# include

//引用函式庫

# include

void

main()

;//每個陣列元素賦值

char str2[

100]=;

//每個陣列元素賦值

char str3[

100]=;

//直接賦值

char str4[

100]

="hello world"

;//str1和str2等價,注意在給每乙個元素賦值的時候不能用""號

printf

("%s\n%s\n%s\n%s\n"

,str1,str2,str3,str4)

;}

字串陣列

# include

//引用函式庫

# include

void

main()

;for

(int i =

0;i<

5;i++

)}

陣列字串輸入

# include

//引用函式庫

# include

void

main()

;//初始化陣列

scanf

("%s"

,str)

;//初始化字串

printf

("%s"

,str)

;}

指標字串輸入

# include

//引用函式庫

# include

void

main()

;char

*p =str;

//這裡指標儲存了可讀可寫的記憶體位址

scanf

("%s"

,p);

printf

("%s"

,p);

}

指標與字串常量

# include

//引用函式庫

# include

void

main()

# include

//引用函式庫

# include

void

main()

C語言字串 字串排序

本題要求編寫程式,讀入5個字串,按由小到大的順序輸出。輸入為由空格分隔的5個非空字串,每個字串不包括空格 製表符 換行符等空白字元,長度小於80。按照以下格式輸出排序後的結果 after sorted 每行乙個字串 red yellow blue green white after sorted b...

C語言 字串

char str lnj 字串變數 l n j 0 printf str size lu n sizeof str 字元陣列 這個並不是字串,而是字元陣列 char charvalues 如何輸出字串變數,s str 陣列的名稱,陣列的名稱就是陣列的位址 s的原理,從傳入的 位址 開始逐個取出,直到...

c語言字串

字串 字串1 概念 1.1 定義 1.1.1 用雙引號引起來的多個字元 1.2 兩個連續的雙引號中間是空格或回車,則兩個字串自動連在一起 1.3 遇見 0字串結束,0可以提前終止字串 1.4 初始化 1.4.1 char str 6 1.4.2 char str hello 編譯時自動給 加6 1....