/*****字符串基本概念******/
#include <stdio.h>
#include <string.h>
int main()
{
char first[4] = {'l','m','\0'};//定義字符串 注意別忘了給字符串分配大小
char second[9] = "你好lm";//定義字符串的另外一種形式
char third[] = {'x','f','\0'};//這個不是字符串,可是是一個簡單的字符數組
char four[] = "asc\0df";
char arr[2][10] = { //二維數組的定義和輸出
{'a','b','c','\0'},
{'d','e','l','\0'}
};
// char arr[2][10] = {
// "abcde",
// "dfdsfdsf"
// };
int size1 = sizeof(second);//計算字節數,一個漢字有3個字節數。'\0'也計算進去
int size2 = strlen(second);//計算除了‘\0’的字節數。
int size3 = sizeof(four);//計算所有的字節數
int size4 = strlen(four);//以'\0'來做爲結束標誌,且不把’\0‘計算進去
printf("%s \n",first);
printf("%s\n",second);
//數組的輸出是以當前數組地址爲起點,直到‘\0‘才結束。因此若是字符數組若是沒有分配'\0'的話
//它會繼續輸出其餘的數組。
printf("%s\n",third);
printf("%c\n",four[2]);
printf("%d\n",size1);
printf("%d\n",size2);
printf("%d\n",size3);
printf("%d\n",size4);
printf("ssssss\n");
for(int i=0; i<2; i++){
printf("***\n");
for(int j=0;j<strlen(arr[i]);j++){
printf("%c\n",arr[i][j]);
}
}
return 0;
}
數組
/****練習******/函數
#include <stdio.h>
#include <string.h>
int char_contains(char str[],char c)//須要定義在main函數前面
{
int len = strlen(str);
for (int i=0; i<len; i++)
{
if (str[i] == c)
{
printf("1\n");
}
else {
printf("0\n");
}
}
return 0;
}
void char_contains2(char str[],char c)
{
int i = 0;
while( str[i] ) {//若是字符不爲'\0'爲真。
if(str[i] == c) {
printf("1\n");
} else {
printf("0\n");
}
i++;
}
}
int main()
{
char str[] = "acdcb";
char_contains(str,'c');
printf("******\n");
char_contains2(str,'c');
return 0;
}
字符串