原搬人码 2021-04-24 19:23 采纳率: 0%
浏览 47

为什么主函数只执行一半?感谢大佬!

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define size 100
#define len 2
typedef int status;
typedef char Elemtype;

typedef struct
{
	Elemtype *top;
	Elemtype *bot;
	int stacksize;
}sqstack;

status initstack(sqstack &s)
{
	s.bot = (Elemtype *)malloc(sizeof(Elemtype) * size);
	if(!s.bot)
		exit(0);
	s.top = s.bot;
	s.stacksize = size;
	return 0;
 } 
 
status stackEmpty(sqstack s)
{
	if(s.top == s.bot)
		return 1;
	return 0;
}
status stackPush(sqstack &s,Elemtype e)
{
	Elemtype *p;
	if(s.top - s.bot == s.stacksize)
		p = s.bot;
		s.bot = (Elemtype *)malloc(sizeof(Elemtype) * (size + len));
		for(int i=0;i<s.stacksize;i++)
		{
			s.bot[i] = p[i];
		}
		s.stacksize = size + len;
		free(p);
	*s.top = e;
	s.top++;
	return 0;
}

status stackpop(sqstack &s)
{
	if(stackEmpty(s) == 1)
		printf("栈空!请入栈\n");
	Elemtype e = *s.top;
	s.top--;
	return e;
}

int stackprint(sqstack s)
{
	for(int k=0;k < s.top - s.bot;k++)
	{
		printf("|%c|\t",s.bot[k]);
	}
	printf("\n");
	return 0;
}
int stacklength(sqstack s)
{
	return (s.top - s.bot);
}


int main()
{
	char str[20];
	char temp;
	int L,N=0,next;
	
	sqstack s;
	initstack(s);
	if(initstack(s) == 0)
		printf("初始化成功!!\n\n");
	else
		printf("初始化失败!!\n\n");
	
	printf("请输入需要判断的字符序列:\n");
	scanf("%s",str);
	L = strlen(str);
	printf("键入字符序列的长度是:%d\n",L);
	
	for(int i=0;i<L/2;i++)
	{
		stackPush(s,str[i]);
	}
	stackprint(s);
	
	if( L%2 == 0)
	{
		next = L/2 + 1;
	}
	else
	{
		next = L/2 + 2;
	}
	
	while( !stackEmpty(s) )
	{
		temp = stackpop(s);;
		if( temp != str[next])
			printf("不是回文!!\n");
		else
			next++;
			N++;
	}
	if(N == stacklength(s))
		printf("是回文!!\n");
	else
		printf("不是回文!!\n"); 
	return 0;
}

//程序只执行一半的问题 
  • 写回答

1条回答 默认 最新

  • Loup&卡普 2023-05-17 18:03
    关注

    staskPush 里的 if 没写大括号吧?就执行了一句

    评论 编辑记录

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度