Это очень обсуждаемый вопрос, однако мое сомнение заключается в том, что в C, * t ++ эквивалентно * (t ++), поскольку приоритет ++ (оператор post increment) больше *. Поэтому в while (* t ++ = * s ++); не будет пропущен первый символ при копировании с s на t; Чтобы сделать это лучше, будет ли копия выполняться перед оператором инкремента или после этого и почему?* t ++ = * s ++; String copy
-2
A
ответ
2
Нет, первый символ не будет пропущен. Результатом оценки t++
(post-increment) является значение t
до того, как произошло приращение, поэтому разыменование указателя переходит в позицию, указанную до того, как было увеличено значение t
. Вы можете использовать оператор pre-increment (++t
) для увеличения t
и получения значения после приращения.
Смежные вопросы
- 1. string copy function
- 2. string s; &s+1; Legal? UB?
- 3. String copy-basics
- 4. Рассмотрим этот код: "int s = 20; int t = s ++ + --s;". Каковы значения s и t?
- 5. String method replaceAll (String s, String replacement)
- 6. T/SQL - String Manipulation
- 7. «Строка s;» скомпилирован в "string s = new String (..);"?
- 8. Какая разница между Double.valueOf (String s) и Double.ParseDouble (String s)?
- 9. Атрибут Deep copy string-template3?
- 10. systemtap user string copy fault
- 11. Linux mode mode string copy
- 12. VBA Copy Paste string search
- 13. Для множеств S и T, почему S - = T Python принимает O (len (T)), а не O (len (S))?
- 14. "while (* s ++ = * t ++)" и malloc
- 15. writeUTF (String s) против writeObject (String ы)
- 16. Set <String> getSet (String s)
- 17. Учитывая строку S и строку T, подсчитайте количество различных подпоследовательностей T в S
- 18. android getSystemService (String s) - отражение?
- 19. std :: string s() странное поведение
- 20. Как использовать System.Web.UI.Page.DecryptString (String s)?
- 21. TextView String (s) не отображается
- 22. T of Func <S, T> выведен из вывода выражения лямбда только тогда, когда S и T различны?
- 23. Если с S на T существует преобразование идентичности, должно быть, что S и T являются одинаковыми?
- 24. Если S содержит анонимное поле T, применяются ли наборы методов S включенных методов с приемником * T?
- 25. Тензорный поток: преобразование тензора [B, T, S] в список тензоров B в форме [T, S]
- 26. Найти кратчайший префикс T строки S, такой, что S является префиксом T^n
- 27. Красивый суп превращает S & P в S & P; AT & T в AT & T; ?
- 28. Swift 3 copy string to clipboard
- 29. Создание пользовательской строки «string» (struct) copy
- 30. c string copy не удаляет строку
Вы можете написать тестовую программу и узнать ее самостоятельно ... – John3136