问题标签 [postfix-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
511 浏览

c# - 为什么 `i += i++` 在 C 中为 1 而在 C# 中为 0?

可能重复:
谁能解释这些未定义的行为(i = i++ + ++i,i = i++ 等……)

堆栈溢出有一个非常好的问题。

对于 i = 0,为什么 (i += i++) 等于 0?

但是当我在 C 中尝试相同的代码时,它给出了不同的结果:

但以下内容:

在 C# 中,它评估++and=+运算符,首先通过tempVar为每个 fo 分配它们并对tempVars. C如何实现它?还是建筑不同?

0 投票
0 回答
2280 浏览

python - Infix to Postfix Converter Python 2.7

I am trying to create a infix to postfix converter in python for a homework assignment, I found multiple ones online that seem simple enough but none of them meet the requirements I need. I have to use the following classes:

I had to add the getPrecedence(): method, which returns an Integer that represents the precedence level of an operator. I also had to use the following class:

I have to write a program that converts a infix expression to a postfix expression. This program should use the Token and Scanner classes (which I have included above). The program should consist of a main function that preforms the inputs and outputs, and a class named IFToPFConverter. The main function receives a input string an creates a scanner with it. The scanner is then passed as a argument to the constructor of the converter object. The converter objects convert method is then run to convert the infix expression. This method returns a list of tokens that represent the postfix string. The main function then displays this string. Here is what I have so far:

I don't know where to go from here, I don't even know if what I am trying to do at in my IFToPFConverter class will work. I have seen much simpler infix to postfix converters.

0 投票
2 回答
156 浏览

java - 编译器警告“使用了增量值(bar++)的值”——这是否意味着行为发生了变化?

当我编译以下代码时,我收到了来自编译器的警告,提示“使用了增量值 (bar++) 的值”

所以这意味着返回的值将是4,而不是3,这令人惊讶,因为我期待3

它对所有java编译器都是通用的吗?或者只是我使用的(NetBeans)做一些不同的事情?

谢谢

0 投票
2 回答
114 浏览

c - explanation for the code snippet in C

I came across this code snippet somewhere but cannot understand how does it works:

Output:

Please explain the working of this code snippet.

0 投票
4 回答
514 浏览

java - Java:前缀 - 后缀问题

我有一个小问题,使用前缀和后缀运算符对数字执行减法。这是我的程序:

这样做,理论上我应该得到 0 作为答案,但是,我得到了 -2。

当我尝试单独尝试增加此程序中的值时:

我得到的值为 B = 5,C = 7。

所以我知道'c'从'b'中获取'a'的值(如果我错了请纠正我),但我想知道的是

  1. 我怎样才能让它不从'b'中获取'a'的值,以及
  2. 使用前缀 - 后缀,我可以在减去它们时得到 0 作为答案。
0 投票
1 回答
115 浏览

perl - 编译顺序和后置前缀操作符

我想知道为什么以下输出7 7 6 7而不是5 6 6 7

我很确定这与参数编译的顺序有关

谢谢,

0 投票
5 回答
1351 浏览

c++ - 为什么要避免 C++ 中的后缀运算符?

我听到一位教授说“避免上下文允许选择前缀的后缀运算符”。我搜索但我没有在stackoverflow中找到解释这一点的相关帖子。

当我们有能力选择任何一个时,为什么更喜欢prefixoperator++ 而不是 operator++?postfix

0 投票
2 回答
6287 浏览

c - 如何解决后缀和前缀运算符表达式?

我写了以下代码:

我得到了以下结果:

据我所知,后缀和前缀运算符在分号之后解决,即。原始值在表达式中使用,然后变量自行解析。在这种情况下

应该等于

两者都应该等同于

因此两个表达式的结果必须相同。但事实并非如此。请任何人都可以帮助我解决我在哪里有错误的概念。

0 投票
2 回答
1813 浏览

c++ - C++ 运算符重载前缀/后缀

我正在学习 C++ 中的运算符重载。原始后缀 ++ 的属性是它的优先级低于赋值运算符。例如,int i=0, j=0; i=j++; cout<<i<<j将输出 01。但是当我重载后缀 ++ 时,这个属性似乎丢失了。

输出(0,0)(2,2),而我期望(0,0)(1,1)。

你能帮我理解为什么会这样,以及恢复原始财产的可能性吗?

0 投票
2 回答
1097 浏览

c++ - 如何正确重载后缀增量运算符?

有没有办法修改此代码,以便在编译时不会收到警告?此外,这段代码是否可能导致段错误,因为它要访问以检索 main 中 x 的值的内存在操作员函数调用结束时被释放?