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

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

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

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

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

textual
Листинг программы
...
for (int i = 0; i < q.Length; i++)
                {
                    if (q.IndexOf(word, i) >= 0)
                    {
                        num++;
                        i = q.IndexOf(word, i++);
                    }
                }
...

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


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

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

14   голосов , оценка 3.857 из 5
Похожие ответы