早教吧作业答案频道 -->其他-->
C的Stack滴练习的定义部分,那位帮忙纠错#include"stdio.h"#include"stdlib.h"#defineStackInitSize100#defineStackIncrement10#defineintint#defineOVERFLOW255//Stack类型
题目详情
C的Stack滴练习的定义部分,那位帮忙纠错
#include "stdio.h"
#include "stdlib.h"
#define Stack_Init_Size 100
#define StackIncrement 10
#define int int
#define OVERFLOW 255
//Stack类型
#include "stdio.h"
#include "stdlib.h"
#define Stack_Init_Size 100
#define StackIncrement 10
#define int int
#define OVERFLOW 255
//Stack类型
▼优质解答
答案和解析
你对指针和引用操作看来挺混乱的
指针使用元素时,要用->来连接
int InitStack(SqStack *s) //这里定义s是指针
{
s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同
if(!s->base) exit(OVERFLOW);
s->top=s->base;
s->stacksize=Stack_Init_Size; //这个是对的
return 0;
}
引用时,如果原变量不是指针,就要用.(点)来连接 若是指针就用->来连接.
以下帮你修改好了
int InitStack(SqStack *s) //这里定义s是指针
{
s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同
if(!s->base) exit(OVERFLOW);
s->top=s->base;
s->stacksize=Stack_Init_Size; //这个是对的
return 0;
}
int Push(SqStack *s, int e)
{
if(s->top - s->base >= s->stacksize){
s->base=(int *) realloc (s->base,
(s->stacksize + StackIncrement) * sizeof (int));
if(!s->base)exit(OVERFLOW);
s->top=s->base+s->stacksize;
s->stacksize += StackIncrement;
}
*s->top++ =e;
return 0;
}
int Pop(SqStack *s,int *e){
if(s->top == s->base) return 1;
e = --s->top;
return 0;
}
int StackEmpty(SqStack *s){
if(s->top - s->base
指针使用元素时,要用->来连接
int InitStack(SqStack *s) //这里定义s是指针
{
s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同
if(!s->base) exit(OVERFLOW);
s->top=s->base;
s->stacksize=Stack_Init_Size; //这个是对的
return 0;
}
引用时,如果原变量不是指针,就要用.(点)来连接 若是指针就用->来连接.
以下帮你修改好了
int InitStack(SqStack *s) //这里定义s是指针
{
s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同
if(!s->base) exit(OVERFLOW);
s->top=s->base;
s->stacksize=Stack_Init_Size; //这个是对的
return 0;
}
int Push(SqStack *s, int e)
{
if(s->top - s->base >= s->stacksize){
s->base=(int *) realloc (s->base,
(s->stacksize + StackIncrement) * sizeof (int));
if(!s->base)exit(OVERFLOW);
s->top=s->base+s->stacksize;
s->stacksize += StackIncrement;
}
*s->top++ =e;
return 0;
}
int Pop(SqStack *s,int *e){
if(s->top == s->base) return 1;
e = --s->top;
return 0;
}
int StackEmpty(SqStack *s){
if(s->top - s->base
看了 C的Stack滴练习的定义部...的网友还看了以下:
无穷级数求极限问题求极限n→∞时lim∑1/{n+[(i^2+1)/n]},i从1到n的值这题目用的 2020-03-31 …
matlab 一维数组中的连续三个数构成坐标,画出空间分布比如I(n+1)=mod(65539*I 2020-05-13 …
一个mathematica程序添加作图语句Clear[x,y,n,h,S1,S2,S3,S4,i] 2020-05-16 …
inti,j,k,l,m,n;floatx,y,z,w;i=8;j=5;k=-5;x=5;l=i% 2020-06-05 …
lim∑i/(n^2+i^2)的极限,n趋于无穷,i的变化范围是从1到n还有一个题,lim∑分子1 2020-06-12 …
帮忙求下下面三个极限:lim(n→∞)∑(n+i)½/(n³)½,下部为i=1,上部为n第二个li 2020-06-12 …
matlab图像处理,提取图片的高频分量!我是这样写的:function gOK=laplace( 2020-06-27 …
用一种粒子群优化算法和一种遗传算法解决下面优化问题minf(x)=∑(i=1)^n▒[xi^2-1 2020-07-23 …
复变函数的积分计算积分I=(闭合c曲线的积分符号)[1/(z-z0)^n+1]dz,其中C是以z0为 2020-11-01 …
在资金时间价值计算时,i和n给定,下列等式中正确的有().A.(F/A,i,n)=[(P/F,i,n 2021-01-14 …