重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
随机输出一个字符串,其实就是要随机生成一个字符串并输出。
成都创新互联公司一直在为企业提供服务,多年的磨炼,使我们在创意设计,网络营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过10余年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务服务器机柜租赁、成都app开发、手机移动建站、网页设计、网络整合营销。
要实现这一点,可以通过rand函数来实现。
具体示例代码如下:
#include stdio.h
#include stdlib.h
#include time.h
#define STR_LEN 10//定义随机输出的字符串长度。
#define CHAR_MIN 'a'
#define CHAR_MAX 'z' //定义输出随机字符串每个字符的最大最小值。
int main()
{
char str[STR_LEN + 1] = {0};
int i;
srand(time(NULL));//通过时间函数设置随机数种子,使得每次运行结果随机。
for(i = 0; i STR_LEN; i ++)
{
str[i] = rand()%(CHAR_MAX-CHAR_MIN + 1) + CHAR_MIN; //生成要求范围内的随机数。
}
printf("%s\n", str);//输出生成的随机数。
return 0;
}
以上代码实现了随机生成一个长度为10,全部字符均为小写英文字符的字符串并输出。
核心语句为str[i] = rand()%(CHAR_MAX-CHAR_MIN + 1) + CHAR_MIN;
其中,
rand()获取一个随机数,
rand()%(CHAR_MAX-CHAR_MIN + 1)使结果位于[0, CHAR_MAX-CHAR_MIN]之内。这里利用了模除的特性。
这样最终的结果就是位于[CHAR_MIN, CHAR_MAX]之间的字符了,从而实现控制生成随机数据范围的效果。
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。用itoa()()函数将整数转换为字符串。
itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数。在上例中,转换基数为10。
#include stdio.h
int main()
{
int a[4]={1,2,3,4};
char b[4];
for(int i=0;i4;i++)
b[i]=a[i];
for(int i=0;i4;i++)
printf("%c",b[i]);
return 0;
}
字符串在存储上类似字符数组
它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
以上内容参考:百度百科-字符串
int
iValue;//整型数
char
sz[10];//字符串
sprintf(sz,
"%d",
iValue);//这句需要头文件#include
stdio.h
/*或者*/
itoa(iValue,
sz,
10);
//这句需要头文件#include
ctype.h
sprintf类似于printf,printf比sprintf少第一个参数,就是直接在输出界面输出相应的东西,而sprintf就是将你要输出的东西按相应格式存放到第一个参数的字符串中。
itoa是直接将整型数转化成字符串