eg:
char s1[5] = ;
char s2[6] = ; //系統預設在字串後面加上乙個字串結束標誌符'\0',所以最少需要6個長度的字元陣列才能容納
eg:
char s1 = ; //字元陣列s1長度為5
char s2 = ; //字元陣列s2長度,系統預設在字串後面加上乙個字串結束標誌符'\0'
eg:
char s1[5] = ;
char s2[6] = ;
printf("s1: %s\n", s1); //列印內容不確定,因為字串的結束標誌位'\0'
printf("s2: %s\n", s2); //列印"china"
eg:
char s1[20];
char s2[20];
char s3[20];
scanf("%s%s%s", s1, s2, s3); //每個字串以換行符或者空格分隔,並且自動在每個字串後面加上'\0'
cout << s1 << endl;
cout << s2 << endl;
cout << s3 << endl;
eg:
//strlen(s) 函式返回的字串的長度(與儲存的內容有關),單位是位元組數
char s1[20] = ;
char s2[20] = ;
char s3[20] = ;
printf("s1的長度:%d\n", strlen(s1)); //長度不確定
printf("s1的長度:%d\n", strlen(s2)); //列印9,字串的長度計算:從字串開始直到遇到'\0',不包括'\0'
printf("s1的長度:%d\n", strlen(s3)); //返回的字串的長度單位是位元組
//補充 strlen與sizeof的區別
//strlen是乙個函式,sizeof 是乙個關鍵字
//strlen返回字串的長度(與儲存內容有關),sizeof返回記憶體的實際長度(與儲存內容無關)
eg:
char s1[10] = ;
char s2[10] = ;
strcat(s1, s2); //將s2中的字串拼接到字串s1後面
printf("%s\n", s1); //列印 "china"
eg:
char s1[10] = "123";
char s2[10] = "678"; //定義時可以使用字串常量進行初始化
//s1 = "678"; //不可以使用字串常量為字元陣列賦值
strcpy(s1, "456"); //將"456"挪到s1執行的記憶體,s1中原來的內容被覆蓋
puts(s1);
strcpy(s1, s2);
puts(s1);
eg:
//strcmp(s1,s2) 函式用法:
//1. s1 == s2 返回0
//2. s1 < s2 返回正整數
//3. s1 > s2 返回負整數
//strcmp函式一般不用來比較字串大小,常用於比較字串是否相等
char s1 = "123";
char s2 = "123";
if (strcmp(s1, s2) == 0)
else
C語言 陣列(字元陣列)
軟體中,文字處理比數字處理更重要,而處理文字時需要用到字串,所以掌握字串的知識很重要。字串一定有 0 結尾,只有以 0 結尾的字元陣列才能稱為字串。0 是字串的標誌,也是字串結束的標誌。一 字串的定義 char arr 10 char brr 5 不是字串,沒有 0 char crr 5 最後乙個元...
C語言(字元陣列)
編寫程式時,經常輸出一些字元資訊,這些資訊通常是由多個字元組成的。將陣列元素定義為char型別,用陣列來存放字元資訊。通常採用迴圈方式來實現輸入輸出功能。使用字元陣列儲存字串 void main for int i 0 i 6 i getchar 複製 0 迴圈結束 void main getcha...
C語言字元陣列
一 c語言中的字串 字串 由零個或多個字元組成且通過 雙引號括起來的有限序列就叫做字串。在c語言中沒有字串型別,故我們用 字元陣列來處理字串。二 字元陣列的定義 因為字元陣列是存放字元的陣列,故其 與陣列定義類似。其定義一般為 char a 10 表示定義了10個位元組的連續記憶體空間。三 字元陣列...