66,标准输出在数字组之间显示“-”。如何删除它并简单地获取一长串整数?这是我的代码段和标准输出: -6ren">
gpt4 book ai didi

c - 随机数生成器添加 "-"以获取更大的长度

转载 作者:行者123 更新时间:2023-11-30 18:33:08 25 4
gpt4 key购买 nike

我正在用 C 语言编写一个函数,该函数在给定序列长度的情况下生成随机整数序列。我注意到,对于数字 >66,标准输出在数字组之间显示“-”。如何删除它并简单地获取一长串整数?这是我的代码段和标准输出:

void gen_seq(int upper, int lower, int length) {
srand((unsigned) time(NULL));
char seq[length];
int i, n;
for (i = 0; i < length; i++) {
n = (rand() % (upper - lower + 1)) + lower; // range of numbers to generate numbers from
if (n != "-")
seq[i] = n;
}
for (i = 0; i < length; i++)
printf("%d", seq[i]);
printf("\n");
}

enter image description here

最佳答案

将 seq 类型更改为 int ,即

int seq[length];

您将 int 分配给 char,因此它被转换为 8 位值。在 2 的补码中,最高有效位决定符号,这就是为什么你会变成负数。

关于c - 随机数生成器添加 "-"以获取更大的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59161138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com