【问题标题】:Am I breaking down this string correctly in C# .Net logic?我是否在 C# .Net 逻辑中正确分解了这个字符串?
【发布时间】:2018-12-08 16:12:37
【问题描述】:

问题:假设整数变量 x=10, y=5, z=3, w=2。 x+y%w的值是?

可能的答案:A:11 B:1 C:12 D:以上都不是

X+Y 简单的连接或加法运算符,% 是余数运算符。这不是 10 + 5 =15 余数为 2 吗?还是 10 + 5 余数为 2?

【问题讨论】:

  • 这些运算符不是 C# 特有的吗?它适用于 C# .net 特定类。
  • 这也和字符串无关。
  • 是的,我现在看到了。不知道当我说字符串时我在想什么,仍然是一个菜鸟。但是任何人都可以解释这不是特定于 C# 的。这里甚至还有一个 C# 运算符页面docs.microsoft.com/en-us/dotnet/csharp/language-reference/…

标签: c# .net operator-overloading


【解决方案1】:
x+y%w -> 10+5%2 = 11  because 5%2 (=1) has the highest priority
(x+y)%w -> (10+5)%2 = 1 because the parenthesis modify the priority of operator

【讨论】:

  • 我明白了。起初我没有意识到 % 运算符基本上是指除以得到剩余的。但现在我明白了,谢谢!
  • 您能验证一下答案吗?
  • 这样的东西怎么样? (x++ + --y) - (++x + y--) 的值是?显然答案是-2,我应该能够使用运算顺序和基本数学来得到这个,但他们从来没有给我们 x 或 y 等于什么..
  • (x++ + --y) -> y = y - 1 then (x= 10) + (y=4) = 14 添加后 x = x + 1 (11) /// ///// (++x + y--) -> x = x + 1 then (x = 12) + (y=4) = 16 操作后 y = y +1 但不处理减法结果决赛 14 - 16 = 2
  • ++x 在操作之前完成增量,对于 x++,在操作之后完成增量
【解决方案2】:

% 操作符基本意思是除法,只用余数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-22
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    相关资源
    最近更新 更多