vs运行不出来是什么原因?
如图

代码在浏览器的在线编译器是可以正常运行的。
#include<stdio.h>
#include<stdlib.h>
typedef struct TreeNode {
char data;
struct TreeNode* lchild; //左孩子
struct TreeNode* rchild; //右孩子
}TreeNode;
void createTree(TreeNode** T, char* data, int* index) {
//创建二叉树
char ch;
ch = data[*index];
*index += 1;
scanf_s("%c\n", &ch);
if (ch == '#') {
//此时为空节点
*T = NULL;
}else{
//此时不为空
*T = (TreeNode*)malloc(sizeof(TreeNode));
(*T)->data = ch;
createTree( &((*T)->lchild), data, index); //创建左子树,进行递归
createTree( &((*T)->rchild), data, index); //创建右子树,进行递归
}
}
//先序遍历
void preOrder(TreeNode* T){
if (T == NULL) {
return;//此时树为空
}
else {
printf("%c ", T->data);//根
preOrder(T->lchild); //左
preOrder(T->rchild); //右
}
}
int main(void) {
TreeNode* T;
int index = 0;
createTree(&T,"AB##C##", &index);
preOrder(T);
return 0;
}