|
|
|
Локальная переменная меняет свое значение "сама по себе"
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Пишу прогу на Си и иногда встречаюсь с такой ситуацией, что локальная переменная меняет свое значение "сама по себе". Ну т.е. явно я ей ничего не присваиваю, а значение "чудесным образом" меняется:). Я так понимаю, что в эту область памяти записывается какое-то другое значение, но почему? Есть ли какой-нить более-менее универсальный способ следить и отлавливать такие ошибки? Заранее спасибо. Вот фрагмент Си-шного кода, где переменная delta неожиданно меняет свое значение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2008, 10:45 |
|
||
|
Локальная переменная меняет свое значение "сама по себе"
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2008, 11:30 |
|
||
|
Локальная переменная меняет свое значение "сама по себе"
|
|||
|---|---|---|---|
|
#18+
mayton Код: plaintext ? В первой итерации цикла len = I = 0 и delta = 17 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2008, 11:47 |
|
||
|
Локальная переменная меняет свое значение "сама по себе"
|
|||
|---|---|---|---|
|
#18+
DanilSoldatov Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Масcивы "короткие". Надо: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2008, 12:26 |
|
||
|
Локальная переменная меняет свое значение "сама по себе"
|
|||
|---|---|---|---|
|
#18+
Железно где-то выход за пределы массива. У меня как-то такое было когда читал из файла блоками(размер блока по умолчанию был больше нужного мне) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2008, 12:45 |
|
||
|
Локальная переменная меняет свое значение "сама по себе"
|
|||
|---|---|---|---|
|
#18+
avb100Масcивы "короткие". Надо: Код: plaintext 1. Он наверное с визуал бейсика пришёл, там как раз если указываешь размер массива 3, будет 4 элемента, а 3 значит конечный номер. То есть доступны индексы 0, 1, 2 и 3 Я сам в шоке был, с этого бейсика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 12:12 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=138&tid=1345076]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 332ms |

| 0 / 0 |
