2015-12-02 6 views
1

Я только что через какой-то код с линией:Что означает этот оператор?/=

n /= 10; 

Я предположил, что это была опечатка и удалить /, чтобы сделать его n = 10, но программа не работает.

Никогда не видел такого оператора раньше, никто не знает?

ответ

3

/= является оператором стенографии.

a /= b 

эквивалентно

c = a/b; 
a = c; 
+5

Или просто 'a = a/b;' –

+0

@FredLarson Абсолютно. Просто разработан, чтобы устранить все больше путаницы. :) –

2

n /= 10 принимает значение от n, разделив его на 10 и переназначение это значение n.

Это только сокращенно n = (n/10) как n++ is n = n + 1.

2

Это то же самое, как

n = n/10 ; 

Вы можете использовать эту форму и с другими операторами (+, -,%, ...).

Корпус n + = 1 (n- = 1) также может быть записан как n++ (увеличение n на 1) или ++n.

2

/= является одним из сокращенных операторов.

Сокращенный оператор - это краткое выражение для выражения того, что уже доступно на языке программирования.

К ним относятся:

  • += (Например: x += 4; эквивалентно x = x + 4;)
  • -= (Например: x -= 4; эквивалентно x = x - 4;)
  • *= (Например: x *= 4; эквивалентно x = x * 4;)
  • /= (например: x *= 4; эквивалентно t о x = x/4;)
  • %= (например .: x %= 4; эквивалентно x = x % 4;)
+0

Может быть, «лаконичное» слово лучше, чем «короче». –

+0

@FiddlingBits вы правы! Извините, я не носитель английского языка. Просто отредактирован. –

+0

Вы англичанин - это прекрасно! –

-1

Это просто означает n = n/10. Та же форма может использоваться и для других операторов.

+0

Как это отличается от 4 ответов, опубликованных в прошлом году, которые уже говорят об этом? – cpburnz

Смежные вопросы