标题:debug assertion failed
只看楼主
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
结帖率:33.33%
已结贴  问题点数:20 回复次数:14 
debug assertion failed
程序代码:
#include<iostream>
#include<fstream>
#include<ctime>
#include<string>
#include<stdlib.h>
using namespace std;

const int lane = 1000;
const int v_max = 18;
int v[lane];

int car_num;
int p[200];
void inicars()
{
    FILE *gg;
    gg = fopen("t-s.txt", "a");
    int i, j, k;
    int temp_1, temp_2 = 0;
    int n = 0;
    
    for (i = 0; i < lane; i++)
        v[i] = -1;

    for (i = 0; i < car_num; i++)
    {
        v[temp_2] = rand() % (v_max + 1);
        temp_2 = temp_2 + 6;                                 //表示的速度是车尾速度,v[位置]=speed
    }
    for (i = 0; i<lane; i++)
    {
        if (v[i] >= 0)
        {
            p[n] = i;    //  
            n++;
        }
    }
    for (i = 0; i < car_num; i++)
        fprintf(gg,"num=%2d,loc=%2d,speed=%2d\n",i,p[i],v[p[i]] );
//    fprintf(gg, "\n");

}
void main()
{
    for (car_num = 10; car_num < 20; car_num + 10)
    { 
        srand(time(NULL));
        inicars();
    }
    




}
搜索更多相关主题的帖子: debug include int for i++ 
2019-01-23 16:09
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
得分:0 
请问一下,主函数我直接car_num=10,就不会出错,为什么吧car_num循环一下就出错了
2019-01-23 16:10
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
得分:0 
2019-01-23 16:14
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
你这是正确代码还是错误代码,啥叫循环一下就出错,看不懂

DO IT YOURSELF !
2019-01-23 16:19
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
得分:0 
回复 4楼 wp231957
错误的,主函数循环car_num会出错,因为我想把这个变量定义为全局变量,但是这个值我需要变化,一循环就会报错
2019-01-23 16:26
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
得分:0 
这个可能是语法的问题,所以全局变量在函数可以修改吗,修改之后子函数访问的是修改后的变量,访问时是不是这个全局变量又变成了未赋值?
2019-01-23 16:43
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
得分:0 
请问各位大佬,我的问题是这样的,我如果定义了一个全局变量,但是我想改变该全局变量的值,方便其他子函数访问(不知道我是不是重复定义了),问题是如果我在主函数改变全局变量的值后,其他函数访问时会不会出错,因为我在定义全局变量时并没有赋值
2019-01-23 17:00
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
得分:10 
你在函数定义了与全局变量名称一样的局部变量,改变的就是局部变量,全局变量不变,不然全局变量就会变
2019-01-23 20:45
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
没有你那个txt文件  所以无法运行

不过编译虽然通过了  但是警告信息却是不少  你应该再修改一下,
比如 这个语句  for (car_num = 10; car_num < 20; car_num + 10) 提示信息为:“+”: 运算符不起任何作用;应输入带副作用的运算符

                                                 car_num + 10  这里我们一般都能看到的代码是 类似  car_num + =10

DO IT YOURSELF !
2019-01-24 08:44
tomye
Rank: 2
等 级:论坛游民
帖 子:32
专家分:10
注 册:2017-12-1
得分:0 
回复 9楼 wp231957
谢谢,这个错误我都没注意到,
2019-01-24 10:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492809-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094037 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved