Имеет ли элемент после последнего элемента в связанном списке значение 0?
По определению, после последнего элемента нет элемента.Если после последнего элемента был элемент, то предыдущий не был бы последним.
Мне было интересно, остановится ли мой цикл слишком рано.Пройдет ли цикл while мимо последнего элемента
Беглый взгляд, все ветви цикла выполняют curr=curr->next
, а условие окончания цикла равно curr!=NULL
, поэтому цикл завершится послеузел, чей next
является нулевым.Если next
последнего узла вашего списка указывает на ноль, то цикл не должен проходить мимо него.next
узла перед последним элементом не может указывать на ноль, поэтому цикл также не должен заканчиваться слишком рано.
Однако, если next
последнего элемента списка не указывает наnull, тогда цикл на этом узле не закончится.
Вы должны убедиться, что программа ведет себя так, как вы ожидаете, используя отладчик.