在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....