下面这段代码在跑的时候可以运行处结果,但是在结束的时候总是会出错,不知道是为什么,请各路大神指教
// 3_1.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
using namespace std;
int array_set(string a, int result[], int b) {
int len_result;
int len_a = 0;
while (a[len_a] != '\0')
len_a += 1;
if (a == "*") {
for (int i = 0; i < b; i++) {
result[i] = i + 1;
}
len_result = b;
}
else {
int num = 0;
len_result = 0;
for (int i = 0; i < len_a; i++) {
if (a[i] == '-') {
result[0] = num;
result[1] = -1;
len_result = 2;
num = 0;
continue;
}
if (a[i] == ',') {
result[len_result] = num;
len_result += 1;
num = 0;
continue;
}
num = num * 10 + int(a[i] - 48);
}
result[len_result] = num;
len_result += 1;
}
if (result[1] == -1) {
len_result = result[2] - result[0] + 1;
for (int i = 0; i < len_result; i++)
result[i] = i + result[0];
}
for (int i = 0; i < len_result; i++)
std::cout << result[i] << " ";
std::cout << endl;
return len_result;
}
int main() {
int n;
cin >> n;
string times[6];//这些即为所要求的时间
int num = n;
for (int i = 0; i < num; i++) {
int len_mon;
int len_d;
int len_h;
int len_min;
//将要求的时间输入进来
for (int j = 0; j < 6; j++) {
cin >> times[j];
}
int month[12];
len_mon = array_set(times[3], month, 12);
int day[31];
len_d = array_set(times[2], day, 31);
int hour[10];
len_h = array_set(times[1], hour, 24);
int minute[10];
len_min = array_set(times[0], minute, 60);
}
return 0;
}