C语言 如何随机生成字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 如何随机生成字符串相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
main()

int i,key[1000]=0;
char *str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,./;\"'<>?";
srand(time(NULL));
for(i=0;i<1000;i++)
key[i] = str[rand()%72];
printf("key is:",key[i]);

这是我写的程序,能build,但是无法随机输出字符串
还想问一下如方程encrypted[i] = original[i] + key[i]中,是不是要求各字符串长度相同才可以运行此方程

问题在这句:

printf("key is:",key[i]);

你没有指定printf的格式,改为:

printf("key is:%d ",key[i]);


 又:不一定每个字符串一样长啊~。 任意一个字符串(长度、内容各异)都可以通过类似的公式进行加密。

参考技术A 漏了输出格式%c
for(i=0;i<1000;i++)
key[i] = str[rand()%72];
printf("key is:%c",key[i]);
;
========
encrypted[i] = original[i] + key[i];
这是单个字符的运算,只要下标 i 没超界 就可以运算。本回答被提问者和网友采纳

以上是关于C语言 如何随机生成字符串的主要内容,如果未能解决你的问题,请参考以下文章

C语言 sprintf函数,如何生成不规则的随机字符串?

C语言如何随机输出一个字符串?

在C语言中如何固定字符的长度

在C语言中怎样产生随机的字符串

怎么用c语言随机生成一串字符串,字符串要求8-16位并且包含大小写字母.数字.和符号

用C#产生随机字符窜