Строка сходит с ума, если я не даю ей немного дополнительного места. Может ли кто-нибудь объяснить, что здесь происходит?

Во-первых, я хотел бы сказать, что я новичок в C / C ++, я изначально разработчик PHP, поэтому Я воспитан, чтобы злоупотреблять переменными так, как мне нравится.

C - страна строгих, компиляторы меня здесь очень не любят, я привык нарушать правила, чтобы добиться цели.

В любом случае, это мой простой фрагмент кода:

char IP[15] = "192.168.2.1";
char separator[2] = "||";   

puts( separator );

Вывод:

||192.168.2.1

Но если я изменю определение разделителя на:

char separator[3] = "||";

, я получу желаемый результат:

||

Итак зачем мне нужно было давать этому человеку дополнительное пространство, чтобы он не спал с человеком перед ним?

36
задан Tom Duckering 4 May 2011 в 12:59
поделиться