Push(&S,e)函数问题
答案:6 悬赏:30 手机版
解决时间 2021-11-11 19:36
- 提问者网友:贪了杯
- 2021-11-11 11:29
Push(&S,e)函数问题
最佳答案
- 五星知识达人网友:封刀令
- 2021-11-11 12:14
Push(&s,x)
&放在这是 c语言输入输出
就不用scanf 直接输入了
进栈
s[top]=x;top++
&放在这是 c语言输入输出
就不用scanf 直接输入了
进栈
s[top]=x;top++
全部回答
- 1楼网友:酒安江南
- 2021-11-11 14:29
&取址
用在你那个PUSH函数中,多半是要对S这块所引用的地址内容进行修改操作的,众所周知的,如果是传值,那么修改后的返回后,就没的了。。。
用在你那个PUSH函数中,多半是要对S这块所引用的地址内容进行修改操作的,众所周知的,如果是传值,那么修改后的返回后,就没的了。。。
- 2楼网友:爱难随人意
- 2021-11-11 13:45
顺序栈:
void push(s,x)
{
if(stackfull(s))
Error("stack overflow");//上益,退出运行
s->data[++s->top]=x;
}
void push(s,x)
{
if(stackfull(s))
Error("stack overflow");//上益,退出运行
s->data[++s->top]=x;
}
- 3楼网友:罪歌
- 2021-11-11 13:14
&是取结构体S的地址,因为c语言的函数传的是形参的值拷贝,所以如果不加&,那么你在函数里面对S的操作其实是对一个临时结构体的操作。
例子
struct A{
int i;
};
struct A x;
x.i=0;
void fun1(A y)
{
y.i=1
}
void fun2(A& py)
{
(*py).i=2;
}
//调用
fun1(x);没用x.i还是0
fun2(&x);有用x.i是10
例子
struct A{
int i;
};
struct A x;
x.i=0;
void fun1(A y)
{
y.i=1
}
void fun2(A& py)
{
(*py).i=2;
}
//调用
fun1(x);没用x.i还是0
fun2(&x);有用x.i是10
- 4楼网友:慢性怪人
- 2021-11-11 13:07
都不知道你的栈的结构是什么,鬼才能写出来
- 5楼网友:持酒劝斜阳
- 2021-11-11 12:53
&是取地址运算符
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯