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

Почему появляются дополнительный сиволы в строке? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значения t, соответствующие каждому значению х http://www.cyberforum.ru/cpp-beginners/thread976858.html
Вычислить значения t, соответствующие каждому значению х ( xn≤x≤xk , шаг изменения x равен dx) по формуле t=sin(ax)+(a+b)-e . Вычислить сумму отрицательных значений t, произведение ненулевых t,...
C++ Таблица значений функиции Вывести таблицу значений функции на отрезке с промежутком h = 15градусов (оператор while). Буду очень благодарен за помощь. http://www.cyberforum.ru/cpp-beginners/thread976857.html
C++ Сортировка динамического массива
Добрый вечер, прошу помочь с одним заданием. Дана матрица размером NxM. Упорядочить ее столбцы по возрастанию их наименьших элементов. Мой неработающий код: #include <iostream> #include...
C++ Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр.
Пожалуйста, помогите решить задачу. В строке символов вводимой с клавиатуры, вычислить количество разных цифр.
C++ модернизированный калькулятор на СИ http://www.cyberforum.ru/cpp-beginners/thread976836.html
ПРошу небольшой помощи. имеется калькулятор #include <iostream> #include <stdlib.h> #include <math.h> using namespace std; int main() { double r1,r2,r3;
C++ Строка: Написать программу, вычисляющую сумму положительных чисел, которые вводятся в клавиатуре. Написать программу, вычисляющую сумму положительных чисел, которое вводятся в клавиатуре. А отрицательные числа не считать и вводит максимально 10 числ: 15 16 10 -98 6 -5 8 сумма чисел: 55 и... подробнее

Показать сообщение отдельно
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
14.10.2013, 02:30  [ТС]
Точно! Совсем вылетело из головы, что при объявления массива str1[8] элементы у него от 0 до 7 а не до 8, спасибо всем за объяснения)

но тут я заметил закономерность, что, если объявить char str1[9]; и присвоить аналогично, только 9 символов (например:"qwertyuio"), то такой проблемы нет, и с char str1[10];, если провести аналогичные действия с 10-ю символами, тоже проблем нет, и с char str1[11]; также. А вот если объявить char str1[12]; и присвоить 12 символов появляются те же проблемы с переполнением, а потом также начиная с char str1[13]; до char str1[15]; всё нормально "жуётся", но char str1[16] ненормально и т.д. и т.п.
В общем переполнение возникает на всех массивах с числом элементов кратных 4, а 4 - это длина типа int в байтах, которым и объявлен num1, плюс если у всех элементов объекта obg1 переменная num1 будет 0, то переполнение у массива str1 ни при каком количестве элементов не будет, тут явно какая-то связь Так вот) я хочу понять почему так происходит и что это за связь) это как-то относится к специфическому распределении памяти у структуры? И ещё, почему значения после присваивании num1 обнуляются, если поменять местами объявления в структуре и если количество элементов у str1 кратно 4?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru