字符串
字符串处理函数
---------------------------------------------
- 字符串
字符串的表示
C语言里面字符串只能用字符数组来存
字符串要求这个数组的末尾必须至少有一个\0
char ch1[] = {'a','b','c'}; // 不是字符串
char ch2[5] = {'h','e','l','l','o'}; // 不是字符串
char ch2[6] = {'h','e','l','l','o'}; // {'h','e','l','l','o','\0'} 字符串
char ch2[10] = {'h','e','l','l','o'}; // {'h','e','l','l','o','\0','\0','\0','\0','\0'} 字符串
简化成""的形式
char ch2[] = "hello"; // {'h','e','l','l','o','\0'}
char ch2[10] = {'h','e','l','l','o'};
sizeof(ch2)=___10____
char ch3[] = "hello";
sizeof(ch3)=____6_____
-----------------------------------------------------------------------------------------------
2.字符串的专用格式控制符 %s
输入 -- 一串字符 --- %s需要字符串的某个字符地址,从给定的地址开始接收一个字符放到char型空间去,直到遇到空格 或者 回车 结束
输出 -- 一串字符 --- %s需要字符串的某个字符地址,从给定的地址开始读一个char字符输出,读一个输出,读到\0
char str[20];
printf("请输入一个字符串:");
scanf("%s",str); // scanf("%s",&str[0]);
printf("输入的字符串是:%s\n",str);
3.多个字符串
存储一个同学的姓名
一个字符串 --- 一维数组既可以了 char name[20];
存储一个班级同学的姓名:
5个字符串 --- 二维数组 char names[5][20];
char names[5][20] = {"lili","tom","xiaoming","xiaoli","xiaomei"};
拓展:生成随机数 库函数
#include <stdlib.h>
// 生成随机数需要种子,但是种子在电脑启动已经生成好了。
// 每次让运行的时候整数不一样 -- 获取时间戳 ---- 时间函数
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
// 1、库函数的头文件
// 2、函数声明 函数的形式决定怎么使用函数 ---使用它的功能
// int rand(void);
// int 返回值类型 --- 数据类型
// rand 函数名
// void 无形参 --- 调用rand函数的时候不需要再()里面传入数据
// 函数调用 : 函数名(实参数据);
int i;
for(i=0;i<5;i++)
{
printf("%s\n",&names[i][0]);
}
// void srand( unsigned seed );
// 返回值类型 void -- 没有返回值
// srand --- 函数名
// unsigned seed --- unsigned int seed --- 函数调用传入一个unsigned int 型的数据
// 每次让运行的时候整数不一样 -- 获取时间戳 ---- 时间函数
// time_t time( time_t *time );
// 返回值类型 time_t --- 整型数据类型的别名 unsigned int
// time --- 函数名
// time_t *time --- 数据类型 *变量名 --- 传入一个指针 --- NULL
int main(void)
{
int res;
// 获取每次运行的时间戳
unsigned int t = time(NULL);
// 刷新种子
srand(t);
// 生成随机数
res = rand();
printf("%d",res);
return 0;
}