Форум программистов, компьютерный форум CyberForum.ru

Переполение массива - нет ошибки - C++

Восстановить пароль Регистрация
 
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
16.03.2010, 12:47     Переполение массива - нет ошибки #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <conio.h>
 
 
int str_len(char a[]) {
int L=0;
while(a[L++]);
return L-1;
}
 
 
int main() {
 
 
 
char a[100];
 
cout <<"STROKA -> ";
cin >>a;
cout <<str_len(a)<<endl;
getch();
return 0;
}
ввожу 180 знаков ->на экране выводит длинну правильно 180
но ведь я писал char a[100];
как так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2010, 12:47     Переполение массива - нет ошибки
Посмотрите здесь:

C++ ошибки которых на самом деле нет
Ошибки вроде бы нет, но работает не правильно! C++
Первые шаги: есть ли ошибки в программе? C++
Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B C++
C++ Дано два целочисленных массива Сформировать новый массив, который содержит элементы первого массива, которых нет во втором
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Black Fregat
 Аватар для Black Fregat
1353 / 983 / 215
Регистрация: 31.05.2009
Сообщений: 4,093
16.03.2010, 13:59     Переполение массива - нет ошибки #2
Значит, затер что-то в памяти. Сейчас ошибка не вылезла, потом вылезет.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
16.03.2010, 14:32     Переполение массива - нет ошибки #3
как так?
Вот так.

попробуй так:
C++
1
2
3
int mas[10] = {0};
for(int i=0;i<10000;i++)mas[i]=0; 
//Должна вылезти ошибка...
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
16.03.2010, 16:18     Переполение массива - нет ошибки #4
Genius Ignat, Брутфорсер, да.
Krist_ALL, В С++ действительно есть такой момент, что при переполнении массива нет почти никаких проблем, а вот чистый С ругается. Но, конечно же, это считается ошибкой, и лучше такого не допускать.
Yandex
Объявления
16.03.2010, 16:18     Переполение массива - нет ошибки
Ответ Создать тему
Опции темы

Текущее время: 15:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru