#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define FALSE -1
#define TRUE 1
#define MAX_QUEUE_SIZE 200
#define MAX_STACK_SIZE 8
int price = 2; //收费每秒单价
int earn = 0; //当日收入总和
//时间结构体
typedef struct {
int hour;
int min;
int sec;
}Time;
//车结构体且并入时间结构体
typedef struct {
char ID[8];
Time iTime;
Time oTime;
}Car;
//栈结构体
typedef struct {
Car base[MAX_STACK_SIZE];
int top;
int length;
int maxLength;
}Stack;
//列队结构体
typedef struct {
Car base[MAX_QUEUE_SIZE];
int front;
int rear;
int length;
int maxLength;
}DeQueue;
//自动获取车牌结构体
void getID(Car* P){
int num = rand()%10000+10000; //产生车辆的数字部分,且保证位数是五
char locations[25][5] = {"@A","@B","@C","@D","@E","@F","@G","@H",
"@J","@K","@L","@M","@N","@O","@P","@Q","@R","@S",
"@T","@U","@V","@W","@X","@Y","@Z"};
sprintf(P->ID,"%s%d",locations[rand()%25],num); //sprintf函数四个参数分别对应
}
//栈的初始化
Stack *IniSTK() {
Stack *STK = malloc(sizeof (Car)*MAX_STACK_SIZE);
for (int i = 0;i < MAX_STACK_SIZE; i++)
STK->base[i] = *(Car*)malloc(sizeof (Car));
STK-> top = -1;
STK-> maxLength = 8;
return STK;
}
//列队初始化
DeQueue *IniDQ() {
DeQueue *DQ = malloc(sizeof(DeQueue)*MAX_QUEUE_SIZE);
for (int i = 0;i < MAX_QUEUE_SIZE; i++)
DQ->base[i] = *(Car *)malloc(sizeof (Car));
DQ->front = DQ->rear = DQ->length = 0;
DQ->maxLength = 8;
return DQ;
}
//时间填充函数,用于减少代码重复量
struct tm* creatTime() {
time_t now;
struct tm *structTime;
time(&now);
structTime = localtime(&now);
return structTime;
}
//获得进入时间
void getInTime(Car *car) {
struct tm *structTime =creatTime();
car-> iTime.hour = structTime-> tm_hour;
car-> iTime.min = structTime-> tm_min;
car-> iTime.sec = structTime-> tm_sec;
}
//获得离开时间
void getOutTime(Car *car) {
struct tm *structTime = creatTime();
car->oTime.hour = structTime->tm_hour;
car->oTime.min =
关于void的问题出错不知道怎么解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注 - 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7607528
- 你也可以参考下这篇文章:关于void的总结
- 除此之外, 这篇博客: void指针类型中的 void指针类型 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
void指针为无类型指针,可以指向任何类型数据。- 以下回答由chatgpt基于相关博客总结生成:
如果在使用void关键字时出现了错误,具体情况需要看错误提示的内容。下面列举一些可能的解决方案:
- 如果是函数返回值类型为void时出现错误,需要检查函数是否正确定义。例如,是否返回了某个值。正确的函数定义应该是:
void functionName() { // 函数体 }
- 如果是函数参数类型为void时出现错误,需要检查函数参数是否正确定义。例如,是否缺少了某个参数或某个参数的类型不正确。正确的函数定义应该是:
void functionName(void) { // 函数体 }
- 如果是使用void指针时出现错误,需要注意void指针默认不能进行指针运算,即不能直接对其进行加、减等运算,需要先转换为具体的类型再进行指针运算。例如:
void *p; int *q = (int *)p; q++; // 可以对q进行指针运算
- 如果是使用void指针时进行类型转换时出现错误,需要注意浮点型和整型不能直接进行类型转换,需要先判断该指针是指向浮点型还是整型再进行类型转换。
总结来说,遇到void关键字出现错误时需要检查函数定义、函数参数定义和指针类型转换等问题。根据具体情况进行排查和解决。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 请教合适的模型做回归
- ¥15 stm32cubemx生成代码后利用printf输出浮点数卡死。
- ¥15 关于#windows#的问题:我是想本地生成pdf的标签文件然后扔给其他的电脑打印,是修改pdf打印格式打印出来这个pdf给那边打印,还是说有其他办法可以生成文件给人家打印
- ¥15 dy/dx-y/x=x^2sinx通解 解题过程 用一阶线性非齐次公式
- ¥15 ERNIE大模型的系统记忆没有生效
- ¥15 如何用C++在CAD二次开发中,对标注AcDbDimension文字的高度与宽度的获取方法?
- ¥15 C++检查代码什么问题
- ¥20 matlab写的上位机UDP速率不到1M
- ¥100 tomcat应用从Termux上连接不到Linux上的MySQL服务器(相关搜索:服务器)
- ¥15 flutter 错误RROR:flutter/runtime/dart_vm_initializer.cc(41)