【发布时间】:2022-01-22 03:37:16
【问题描述】:
我需要创建一个由随机字符组成的可变长度字符串,所以我构建了一个函数来执行此操作,但是,在执行了几次之后,我注意到即使条件仍然不存在,while 循环也会停止执行一开始我有 (j
void gener_observation(char num[b])
{
int taille,i,j;
srand(time(NULL));
taille = (rand()%(b-40)) + 1;
j=0;
i=0;
while(j <= taille)
{
i = ((rand()%26) + 65 );
num[j] = i;
j++;
}
}
【问题讨论】:
-
什么是
b?是全球性的吗?调用这个函数时它的值是多少? -
除此之外:将
srand(time(NULL));移出函数到main().的开头另外,如果你打算“创建一个字符串”,那么你必须给它写一个空终止符。 -
欢迎来到 StackOverflow!请以文本形式发布Minimal Reproducible Example,最短的完整代码,显示您尝试过的内容。最好的方法是通过复制/粘贴,在您检查它确实表现出所描述的行为之后。我建议您使用Tour 并阅读How do I ask a good question?
-
b 是一个等于 100 的全局变量
-
@WeatherVane 我刚刚看到您的评论并添加了一个空终止符,我认为问题已解决,谢谢
标签: c while-loop