|
|
|
обьясните плз, в чем ошибка?
|
|||
|---|---|---|---|
|
#18+
необходимо, чтобы программа возвращала указатель на символ после некоторых действий над строкой. Программа должна быть сделана в 2х вариантах - с указателями и индексами. Сам алгоритм, который необходимо реализовать я сделал, но почему-то функция возвращает не только необходимый символ, но и еще какие-то кракозябры за ним.... обьясните плз, в чем ошибка? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. а надо просто r как этого достичь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 07:35 |
|
||
|
обьясните плз, в чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 08:19 |
|
||
|
обьясните плз, в чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Piterskiyнеобходимо, чтобы программа возвращала указатель на символ после некоторых действий над строкой. Программа должна быть сделана в 2х вариантах - с указателями и индексами. Сам алгоритм, который необходимо реализовать я сделал, но почему-то функция возвращает не только необходимый символ, но и еще какие-то кракозябры за ним.... обьясните плз, в чем ошибка? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. а надо просто r как этого достичь? Медитация над следующими вопросами Вам поможет: 1. Срочно смотреть хелп по функции printf() , а также любую учебную литературу по работе с массивами и указателями (взятие адреса, разыменование и т.д.) в С/С++. Без хорошего разъяснения этого вопроса будут у Вас подобные ошибки.... Правильный вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 08:34 |
|
||
|
обьясните плз, в чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Piterskiyнеобходимо, чтобы программа возвращала указатель на символ после некоторых действий над строкой. Программа должна быть сделана в 2х вариантах - с указателями и индексами. Сам алгоритм, который необходимо реализовать я сделал, но почему-то функция возвращает не только необходимый символ, но и еще какие-то кракозябры за ним.... обьясните плз, в чем ошибка? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. а надо просто r как этого достичь? Если по порядку: в данном случае функция возвращает символ(!), а не указатель на него. Этот возвращаемый символ, становится твоей локальной переменной, и будет уже есстественно находится в другом месте, а не там, где у тебя расположена строка s1. Используя принтэф, ты передаешь указатель на строку, которая должна заканчиваться нулем, но что находится в памяти после твоего вернувшегося символа? Видимо только стеку это извесно. В этом и заключается ошибка. Что бы вывести этот символ используй printf("%c", s[0]); fflush(stdout) или printf("%c\n",s[0]). Ни в коем случае не поступай, так как тебе посоветовал buls, так как ты пишешь в память, которая используется не тобой (если не понял почему, прочитай еще раз). Далее, по задаче: 1. Вернуть указатель на символ: Для того, что указатель перенести на n позиций используется операция s+n, где s - начальный указатель, а n - количество позиций на которые тебе надо перенести. 3. Вернуть индекс. Ну это и ежу понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 09:49 |
|
||
|
обьясните плз, в чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Спасибо камрады! хех, я вместо printf("%c\n",s[0]) вводил printf("%s\n",s[0]) и потому зашел в тупик. мда... Надо быть внимательнее однако. ps. ушел учить матчасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 10:49 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2030369]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 427ms |

| 0 / 0 |
