请问这个代码为什么开O2优化全,关闭后ac?
查看原帖
请问这个代码为什么开O2优化全,关闭后ac?
213454
HEU_ZWZ楼主2024/5/5 10:26
#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);

把读入部分换成以上代码也有同样问题

2024/5/5 10:26
加载中...