使用rand()函数生成ascii值

fxm*_*mle 1 c++

int RandInt(int a, int b){
    return (rand()%b+a);
}
Run Code Online (Sandbox Code Playgroud)

我想生成随机字符值,所以我这样称呼它

char asciiValue = RandInt(65, 90);
Run Code Online (Sandbox Code Playgroud)

但我的输出并不是我所期望的......我做错了什么?

--edit为randint调用输入了错误的值,我的不好

jbe*_*das 6

如果修改RandInt(low, high)函数以返回低值和高值之间的随机数,可能会更好.

int RandInt(int low, int high) {
  return low + rand() % (high - low + 1);
}
Run Code Online (Sandbox Code Playgroud)

这样,获得小写字符将非常简单:

const char c = RandInt('a', 'z');
Run Code Online (Sandbox Code Playgroud)