Это не похоже, что он должен работать, но когда я выводю все, все выглядит правильно.
Добро пожаловать в мир Undefined Behavior. Когда вы это сделаете, все может случиться. Ваша программа может потерпеть крах, ваш компьютер может потерпеть крах, ваш компьютер может взорваться, demons can fly out of your nose.
И, что самое страшное, ваша программа может работать просто отлично, незаметно выглядит так, как будто она работает правильно, пока в один прекрасный день она не начнет выплескивать мусор, поскольку она переписывает важные данные где-то из-за того, что где-то кто-то выделил слишком мало символов для их массивы, и теперь вы испортили кучу, и вы получаете segfault в какой-то момент на расстоянии в миллион миль, или еще хуже, ваша программа с удовольствием сочетается с поврежденной кучей, и ваши функции работают на поврежденных номерах кредитных карт, и вы получаете огромные проблемы.
Даже если это похоже на работу, это не так. Это неопределенное поведение. Избегайте этого, потому что вы никогда не можете быть уверены, что он будет делать, и даже когда то, что он делает, когда вы попробуете, все в порядке, на другой платформе это может быть нехорошо.
haha спасибо, мне, должно быть, повезло ... это не показалось правильным, когда я это делал. – Polaris878
Я бы сказал, что вам не повезло. В идеале это woudl ВСЕГДА вызывает ошибку, но, к сожалению, в реальном мире некоторые ошибки не появляются сразу. – Dolphin