#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main01()
{
//字符
char ch='a';
//字符串:字符串结束标志为“ ”,数字0等同于“ ”;但是不等同于“ '0' ”;字符串就是一个字符数组的特例
//字符串样式:
//char*arr="hello";
//char arr[] = "hello";
//char arr[]={"hello"};
//char arr[][6]={"hello","world"};//字符串数组
//char arr[] = { 'h','e','l','l','o',' '};//“ ' ' ”结束
//char arr[6] = { 'h','e','l','l','o'};//当数组下标为5时,为字符;当数组下标为6时,为字符串
//char arr[100] = { 110,111,112,101,123,98 };
char arr[] = { 110,111,112,101,123,98,0};//0表结束
printf("%s", arr);//%s:打印字符串
//定义字符数组
char arr1[5] = { 'h','e','l','l','o'};
printf("5个元素的字符型数组大小为:%d ", sizeof(arr1));//1*5=5
for (int i = 0; i <sizeof(arr1)/sizeof(arr1[0]); i++)
{
printf("%c", arr1[i]);//%c:打印字符
}
return 0;
}
int main02()
{
//定义字符数组存储字符串
//定义了一个字符串数组,能存储有效字符10个
char ch[11];
/*ch本身就是一个地址,不用&。%10s在这里起限定的作用,表示有10个有效字符,需预留一个位置存 ;scanf接收空格或接收换行表示结束。eg:如输入hello worldaoao,不会报错,而是打印hello*
scanf("%10s",ch);
printf("%s",ch);
return 0;
}
int main03()
{
//字符串拼接
char ch1[]="hello"//占6个字节空间(包括“ ”)
char ch2[]="world"
char ch3[20];
int i=0;
int j=0;
while(ch1[i]!=' ')
{
ch3[i]=ch1[i];
i++;//最后一层循环i=5
}
while(ch2[j]!=' ')
{
ch3[i+j]=ch2[j];
j++;//最后一层循环j=5
}
ch3[i+j]=0;//i+j=10;//ch3[i+j]是一个元素,可以赋值。0相当于“ ' ' ”
printf("%s",ch3);
return 0;
//结果
}