buf[5] = {'a', 'b', 'c', 'd', 'e'};
이거 일때
만약 문자 c 를 지우고 뒤에꺼를 앞으로 한칸씩 땡길때
if(buf[i]=='c')
{
while( i++ < 5)
buf[i]=buf[i+1];
}
이렇게하면 안되는거 아니야?
이러면 C가 지워지지않고 D자리에 E가 들어가는거아니야?
교재에 이렇게되어있어서 혼동옴
buf[5] = {'a', 'b', 'c', 'd', 'e'};
이거 일때
만약 문자 c 를 지우고 뒤에꺼를 앞으로 한칸씩 땡길때
if(buf[i]=='c')
{
while( i++ < 5)
buf[i]=buf[i+1];
}
이렇게하면 안되는거 아니야?
이러면 C가 지워지지않고 D자리에 E가 들어가는거아니야?
교재에 이렇게되어있어서 혼동옴
저도 초보지만, 대충 보면
if(buf[i]=='c') but[i]가 c 일때 그러니까 여기서는 but[2] 겠죠
while( i++ < 5)buf[i]=buf[i+1];
i더하기 1이 오 미만일 때 buf[i]는 buf[i+1] 이니까 c자리에 d가 들어가고 d 자리에 e가 들어가는 대충 뭐 이런 느낌?
i++ 때문에 다음행에서는 1증가되서 buf[3]되는거아니에요?
i++가 그런식으로 쓰인게 아니라 i보다 1+1 이 5보다 작으면 그러니까 buf[3]까지(4+1은 5와 동등하므로) while 문 작동한다는 뜻 아니야? 그러니까 while 문이 작동하는건 buf[3] 까지인거고, 오히려 문제가 있다면 e 가 지워지지 않고 두게가 되는게 문제가 아닐까 하는데... 나도 생초짜니까.. 그냥 흘러들어
소스 쳐서보면 진짜로 c안없어지고 abce됨 ...
그런감. 내가 삽질한 거구나... 이따가 mozzart 라는 사람 오면 그사람한테 물어봐. 그사람이 여기서 제일 똑똑해
ㅎㅎ 알았엉
ㅁㄴㅇㅇ//되서->돼서 [리듬 맞춤법 봇♬]