gpt4 book ai didi

c - Visual Studio 2017 srand() 崩溃(在线编译器有效)

转载 作者:行者123 更新时间:2023-11-30 16:31:46 26 4
gpt4 key购买 nike

我尝试了这三种类型的代码。

1:Visual Studio 2017 输出:应用程序崩溃。

 time_t = t;
srand((unsigned)time(&t));

2:Visual Studio 2017 输出:应用程序崩溃。

srand (time(NULL));

3:Visual Studio 2017 输出:正常打印,然后崩溃。

long t;
time(&t);
srand((unsigned)t);

第三个变体输出/错误和构建警告打印:调试错误!运行时检查失败 #2 - 变量“t”周围的堆栈已损坏

警告 C4333:“function”:不兼容的类型 - 从“long *”到“time_t *const”(尝试使用 time_t 进行修复,但应用程序崩溃了)

所有示例都适用于在线编译器! onlinegdb.com 。所有测试都是使用下面的代码完成的。

#define _CRT_SECURE_NO_WARNINGS
#define CON 10

#include <stdio.h>
#include <stdlib.h>
#include <time.h>



float maxB(float v[], int n);

float maxB(float v[], int n) {
float est;

for (int i = 0; i < n-1; i++)
{
printf("[%d]: %.2f\n", i, v[i]);
if (v[i] >= v[i + 1]) {
est = v[i];
}
else
{
est = v[i + 1];
}
}
return est;
}

main() {

srand(time(NULL));

float v[CON];
int a;
printf("how many vector positions to test?\n");
scanf("%d", &a);
while (a < 0 || a > CON ){
printf("invalid input!how many vector positions to test?\n");
scanf("%d", &a);
}

for (int i = 0; i < CON; i++){
v[i] = (float)(rand() % 10);
}
printf("Biggest number %f", maxB(v, a));
}

那么...我应该怎么做才能在 Visual Studio 中使用随机函数?我应该使用其他版本吗?

最佳答案

解决了,问题出在我使用的电脑上,当我用另一台机器进行测试时,它可以工作!

关于c - Visual Studio 2017 srand() 崩溃(在线编译器有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50440655/

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