Форум программистов, компьютерный форум 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, количество положительных значений t. На экран выводить каждую вторую пару значений x и t. Контрольный расчёт провести при a=1.23, xn=2.5, xk=8.5, dx=0.2. Помогите пожалуйста.
C++ Таблица значений функиции Вывести таблицу значений функции на отрезке с промежутком h = 15градусов (оператор while). Буду очень благодарен за помощь. http://www.cyberforum.ru/cpp-beginners/thread976857.html
C++ Сортировка динамического массива
Добрый вечер, прошу помочь с одним заданием. Дана матрица размером NxM. Упорядочить ее столбцы по возрастанию их наименьших элементов. Мой неработающий код: #include <iostream> #include <cstdlib> using namespace std; void main () { const int n = 3, m = 3
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 и так только 10 чисел должно быть. подробнее

Показать сообщение отдельно
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45

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

14.10.2013, 00:58. Просмотров 520. Ответов 8
Метки (Все метки)

Относительно недавно начал изучать C++, дошёл до структур, написал код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string.h>
using namespace std;
struct test1
{
    int num1;
    char str1[8];
}obj1[10];
void main()
{
    int i;
    for (i=0; i<3; i++)
    {
        obj1[i].num1=i;
        strcpy(obj1[i].str1,"qwertyui");
    }
    for (i=0; i<3; i++)
        cout<<obj1[i].num1<<' '<<obj1[i].str1<<endl;
}
Вывод программы в прикреплённом изображении. Почему у str1 появляются лишние символы в конце, причём я заметил, что это как-то зависит от значения num1; в зависимости от его значения лишних символов больше и/или другие, проверил, что с адресами вроде всё в порядке, а если str1[8]; объявить раньше чем num1, т.е.:

C++
1
2
3
4
5
struct test1
{
    char str1[8];
    int num1;
}obj1[10];
то все значения num1 равны 0
В общем в чём прикол, или я слепой и чего-то в упор не вижу?)
Миниатюры
Почему появляются дополнительный сиволы в строке?  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru