/*****字符串基本概念******/
#include <stdio.h>
#include <string.h>
int main()
{
char first[4] = {'l','m',' '};//定义字符串 注意别忘了给字符串分配大小
char second[9] = "你好lm";//定义字符串的另一种形式
char third[] = {'x','f',' '};//这个不是字符串,但是是一个简单的字符数组
char four[] = "asc df";
char arr[2][10] = { //二维数组的定义和输出
{'a','b','c',' '},
{'d','e','l',' '}
};
// char arr[2][10] = {
// "abcde",
// "dfdsfdsf"
// };
int size1 = sizeof(second);//计算字节数,一个汉字有3个字节数。' '也计算进去
int size2 = strlen(second);//计算除了‘ ’的字节数。
int size3 = sizeof(four);//计算全部的字节数
int size4 = strlen(four);//以' '来作为结束标志,且不把’ ‘计算进去
printf("%s
",first);
printf("%s
",second);
//数组的输出是以当前数组地址为起点,直到‘ ‘才结束。所以如果字符数组如果没有分配' '的话
//它会继续输出其他的数组。
printf("%s
",third);
printf("%c
",four[2]);
printf("%d
",size1);
printf("%d
",size2);
printf("%d
",size3);
printf("%d
",size4);
printf("ssssss
");
for(int i=0; i<2; i++){
printf("***
");
for(int j=0;j<strlen(arr[i]);j++){
printf("%c
",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
");
}
else {
printf("0
");
}
}
return 0;
}
void char_contains2(char str[],char c)
{
int i = 0;
while( str[i] ) {//如果字符不为' '为真。
if(str[i] == c) {
printf("1
");
} else {
printf("0
");
}
i++;
}
}
int main()
{
char str[] = "acdcb";
char_contains(str,'c');
printf("******
");
char_contains2(str,'c');
return 0;
}