Префиксный инкремент в качестве аргумента метода - C#

Узнай цену своей работы

Формулировка задачи:

Уходит в бесконечный цикл. Причем если использовать постфиксную форму то все нормально. Непонятен механизм срабатывания (ведь при префиксной форме в начале должно увеличиться значение, а потом вернуться, и соответственно наоборот). Тут какая-то особенность при пердаче в качестве аргумента?
Листинг программы
  1. public static int NumberIn (string q, string word)
  2. {
  3. int num = 0;
  4. for (int i = 0; i < q.Length; i++)
  5. {
  6. if (q.IndexOf(word, i) > 0)
  7. {
  8. num++;
  9. i = q.IndexOf(word, ++i);
  10. }
  11. }
  12. return num;
  13. }
А тут все понятно
Листинг программы
  1. int a = 5;
  2. int b = --a;
  3. int c = a++;
  4. Console.WriteLine(b+" "+c); //4 4

Решение задачи: «Префиксный инкремент в качестве аргумента метода»

textual
Листинг программы
  1. ...
  2. for (int i = 0; i < q.Length; i++)
  3.                 {
  4.                     if (q.IndexOf(word, i) >= 0)
  5.                     {
  6.                         num++;
  7.                         i = q.IndexOf(word, i++);
  8.                     }
  9.                 }
  10. ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы