编程成长之路

我们都是站在父母的肩上去看他们不曾看到的风景!加油!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

字符串与字符数组

Posted on 2023-05-21 18:56  来颗维C  阅读(14)  评论(0编辑  收藏  举报
  1. 字符数组的定义

    char array[100];
    
  2. 字符串的初始化

    char array[100] = {'a','b','c','d'};
    char arrsy[100] = "abcd";
    char arrsy[100] ={0};
    char arrsy[] = "abcd";
    
    
    /*字符类型 char 多个char 类型组成的就是字符串 字符使用单引号''   字符串使用双引号""   在C语言中是没有字符串 所以我们是用的是字符数组 char array[];*/
    #include<stdio.h>
    #include<windows.h>
    
    int main()
    {
    /*  字符数组的定义
    	char x = 'a';//字符
    	char str[10] = "我很喜欢C语言!!!"; //字符串
    	char str[100];//这是一个字符数组  名字str 容量存储100个char类型的数据/字符
    	*/
    
    	/* #字符的初始化
    	
    	1.char arrary[100] = {'a','b','c','d','\n'};
    
    	2.	//一个中文是2个字节  char Str[10]最多只能存储10个字节 产生越界了
    	 char Str[10] = "爱编程";
    	 printf("%s,\n", Str);//输出字符串使用%s
    	 printf("%d\n", Str);
    
    	 3.char array[100] = {0}; //初始化内容为0
    
    	4.char array[] = "abcd";//根据abcd字符串长度的大小自动分配字符数组空间
    	
    	
    	*/
    	//      9行:9句话	长度为 1024个字节
    	char Str[9][1024] =
    	{
    		"111111",
    		"222222",
    		"333333",
    		"444444",
    		"555555",
    		"666666",
    		"777777",
    		"888888",
    		"9999999"
    	};
    	
    	//循环打印
    	for (int i = 0; i < 9; i++)
    	{
    		system("color bc");
    		system("cls");//没出现一次就清屏
    		printf("%s\n", Str[i]); //当i= 0就打印第一行字符----0-9
    		Sleep(1000);//睡眠1秒钟
    
    	}
    		
    
    	return 0;
    }
    

3.函数的调用:产生随机数

1.随机数产生函数rand与srand

<1>头文件 : stdlib.h

<2> rand是伪随机数产生器,每次调用rand产生的随机数都是一样的

<3>如果调用rand之前先调用srand就会出现任意的随机数

<4>只要能保证每次调用srand函数的时候,参数的值是不同的,那么rand函数就一定会产生不同的随机数

#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<time.h>

int main()
{
/*rand()函数与srand()函数
      例:幸运大抽奖
	  一个班里有50个学生  学号1-50
	
	
	*/

	//先调用srand函数 把时间作为我们的随机数
	srand((unsigned  int)time(NULL));
	char Name[16][10] =
	{
	   "1",
	   "2",
	   "3",
	   "4",
	   "5",
	   "6",
	   "7",
	   "8",
	   "9",
	   "10",
	   "11",
	   "12",
	   "13",
	   "14",
	   "15",
	   "16"
	};


	//随机数一定是0-15之间的数
	printf("幸运得奖住是:%s\n", Name[rand() % 16]);  //随机对16取余


	return 0;
}

scanf()函数输入字符串

/*char s[10] = {0};
		scanf("%s", s);*/ //"%s"的作用就是输入一个字符串的,scanf是以回车键作为输入完成的标示,但回车键本身并不会作为字符串的一部分,如果scanf参数中的数组的长度小于用户在键盘上输入的长度,那么scanf就会缓冲溢出,导致程序崩溃


		char Str[128];
		scanf("%s",Str); //字符串不需要取地址