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

Разбираю списки .Правильно ли понял ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что за оператор ->? http://www.cyberforum.ru/cpp-beginners/thread354722.html
Здравствуйте, мой вопрос поместился в заголовок:), но я всё же задам его и в сообщении: что за оператор ->?
C++ Ввод двух чисел с клавиатуры и вывод их на экран 126(16 с с )и 11110001010(2 с с ) http://www.cyberforum.ru/cpp-beginners/thread354716.html
безье C++
ормула второй производной кривой безье
C++ Разные
Буду признателен любой помощи. Решать желательно через printf scanf 1.Задача. Напишите программу, которая подводит итоги Олимпийских игр. Про-грамма должна получить от пользователя число медалей...
C++ Даны действительные числа x, y. Получить http://www.cyberforum.ru/cpp-beginners/thread354709.html
Даны действительные числа x, y. Получить http://s007.***********/i302/1109/f1/e39dd57364b1.jpg Дана гипотенуза и катет прямоугольного треугольника. Найти второй катет и радиус вписанной окружности....
C++ Почему выдет ошибку const float x = 2.7; подробнее

Показать сообщение отдельно
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
22.09.2011, 00:32
Замени
C++
1
2
3
4
5
6
7
8
while(temp->next != NULL)
{
//операции
// ...
//
temp = temp->next;
 
}
На
C++
1
2
3
4
5
6
7
8
while(temp != NULL)
{
//операции
// ...
//
temp = temp->next;
 
}
Допустим в списке 1 узел. По идее блок цикла должен один раз проработать. Проработает ли один раз блок цикла при условии temp->next != NULL ? Нет. А temp != NULL ? Проработает.
А если вообще нет узлов? Тогда будет ошибка времени выполнения, потому что temp = 0, а temp->next не существует. Для двух узлов и более, думаю, понятно как дела обстоят.

Добавлено через 6 минут
Цитата Сообщение от zek921 Посмотреть сообщение
last -> value = SomeValue;
SomeValue - не инициализированная переменная. Хотя иногда срабатывает, но лучше такого не допускать.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
temp->value = SomeValue;
temp->next = NULL;
last->next = temp;
 
temp->value = SomeValue;
temp->next = NULL;
 
last->next = temp;
Правильно так:
C++
1
2
3
4
5
temp->value = SomeValue;
temp->next = NULL;
last->next = temp;
 
Last = temp;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru