зЬгсру () - копирование более длинную строку на короткой

S

sivamit

Guest
Привет как это код работать ..? символ * р = "WiMAX"; символ обр [3]; зЬгсру (обр, р); Е ("% S", обр) Результат: WiMAX компилятор не показывает каких-либо предупреждений или сообщение об ошибке .. whatz prblm ..? Пожалуйста, помогите ..!!!
 
Thats (г) преимущество указатели в C. обр основном указатель на память, где начинается обр. В зЬгсру (обр, р), вы используете его как указатель, что зЬгсру делает копии всех данных от отправителя к получателю, пока не находит нулевой символ (который был мест мой компилятор после строки "WiMAX" автоматически). Таким образом, вы в конечном итоге копирование полной строки от р до обр. если вы объявите переменную после обр [3], можно увидеть, что его значение заменяется зЬгсру ().
 
Я думаю, что приложение может уточнить ваши проблемы .... : D: идея:
 
обр необходимо 6 единиц хранения, 5 для «WiMAX» и один для пустого символа терминатора (0). Компилятор Си не пишет няни код для программиста. Если вы перезаписать память, вы по своему усмотрению, компилятор не генерирует код проверки границ. В этом случае зЬгсру () не перезапись памяти, что бы разбился программы.
 

Welcome to EDABoard.com

Sponsor

Back
Top