#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct Node
{
struct Node *right;
char t;
struct Node *left;
}node;
void front(node* base1)
{
printf("%c",base1->t);
if(base1->left!=NULL)
front(base1->left);
if(base1->right!=NULL)
front(base1->right);
return;
}
int main()
{
int n;
scanf("%d",&n);
node *line[27];
node *begin;
for(int i=1;i<27;i++)
{
node *temp=(node *)malloc(sizeof(node));
temp->t='z';
temp->left=NULL;
temp->right=NULL;
line[i]=temp;
}
for(int i=0;i<n;i++)
{
char a[3];
cin>>a;//读入
int place=int(a[0])-96;
if(a[1]!='*')
{
int lplace=int(a[1])-0x60;
line[place]->left=line[lplace];
}
if(a[2]!='*')
{
int rplace=int(a[2])-96;
line[place]->right=line[rplace];
}
line[place]->t=a[0];
if(i==0)
{
begin=line[place];
}
}
front(begin);
return 0;
}
如题同时用scanf读入也是
char a[3];
scanf("%s",&a);
把读入部分换成以上代码也有同样问题