fix: Update C code for compatibility with the MSVC compiler (#949)

* Replace VLA with malloc
Replace VLA with malloc to make C code
compatible with cl compiler on Windows.

* Fix C code for CI compiler.

* Fix C code compability to CI.

* check the trigger
This commit is contained in:
Yudong Jin
2023-11-17 00:29:54 +08:00
committed by GitHub
parent e4aa76ed3e
commit f7c41b6bef
23 changed files with 235 additions and 174 deletions
@@ -36,7 +36,7 @@ int main() {
preOrder(root);
printf("\n输出所有值为 7 的节点\n");
int vals[resSize];
int *vals = malloc(resSize * sizeof(int));
for (int i = 0; i < resSize; i++) {
vals[i] = res[i]->val;
}
@@ -44,5 +44,6 @@ int main() {
// 释放内存
freeMemoryTree(root);
free(vals);
return 0;
}
@@ -46,12 +46,13 @@ int main() {
printf("\n输出所有根节点到节点 7 的路径\n");
for (int i = 0; i < resSize; ++i) {
int vals[MAX_SIZE];
int *vals = malloc(MAX_SIZE * sizeof(int));
int size = 0;
for (int j = 0; res[i][j] != NULL; ++j) {
vals[size++] = res[i][j]->val;
}
printArray(vals, size);
free(vals);
}
// 释放内存
@@ -47,12 +47,13 @@ int main() {
printf("\n输出所有根节点到节点 7 的路径,要求路径中不包含值为 3 的节点\n");
for (int i = 0; i < resSize; ++i) {
int vals[MAX_SIZE];
int *vals = malloc(MAX_SIZE * sizeof(int));
int size = 0;
for (int j = 0; res[i][j] != NULL; ++j) {
vals[size++] = res[i][j]->val;
}
printArray(vals, size);
free(vals);
}
// 释放内存
@@ -78,12 +78,13 @@ int main() {
printf("\n输出所有根节点到节点 7 的路径,要求路径中不包含值为 3 的节点\n");
for (int i = 0; i < resSize; ++i) {
int vals[MAX_SIZE];
int *vals = malloc(MAX_SIZE * sizeof(int));
int size = 0;
for (int j = 0; res[i][j] != NULL; ++j) {
vals[size++] = res[i][j]->val;
}
printArray(vals, size);
free(vals);
}
// 释放内存