这个语句的运算顺序是什么?

[复制链接]
查看11 | 回复1 | 2011-8-5 07:58:32 | 显示全部楼层 |阅读模式
s->entry[s->top++]=item;
typedef int StackEntry;
typedef struct Stack
{
        int top;
        StackEntry entry[MAXSTACK];
}Stack;
void Push(StackEntry item,Stack *s)
{
        if(StackFull(s))
                Error("Stack is full");
        else
                s->entry[s->top++]=item;
}

回复

使用道具 举报

千问 | 2011-8-5 07:58:32 | 显示全部楼层
首先 s->top=s->top+1之后s->entry[s->top]最后将item赋值给s->entry[s->top] 要注意的是s->top++ 举个例子 s->top++=10的话 s->top =11 而s->entry[s->top++]相当于 s->entry[10]但是s->top的值为11相关的看 i++和++i的区别...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行