배운지 1주일된 초보자입니다 답변부탁드려요~!
철죽
실행 : AB를 입력하면
결과 : BA까지는 출력이되요
근데 AB를 입력하세요
와일문에서 string[len]값이 2가되면 눌값이같아서 아래 for으로 빠지는데
여기서 문제입니다.
i는 현재0이고 len/2는 0인데 ilen/2는 for을빠져나가야 정상인데 왜안빠져나가는 건가요?
for(; ilen/2; i++)
#include stdio.h
int main(void)
{
char string[100];
int len=0, i=0;
printf(문자열 입력: );
scanf(%s, string); // scanf 함수를 사용하여 문자열을 입력 받는다 그값은 string 값에 저장시킨다. ab저장
while(string[len]!=0)
{
len++;
}
for(; ilen/2; i++)
{
char temp=string[i];
string[i]=string[len-i-1];
string[len-i-1]=temp;
}
printf(변경된 문자열: %s \n, string);
return 0;
}
-
새늘
질문은
\배운지 1주일된 초보입니다. 도움주세요\는 내용과 전혀 상관없군요.
그런 질문과는 전혀 상관없는 필요없는 말은 굳이 제목에 적지 않아도 됩니다.
제목에는
\[질문] for문에서 밖으로 빠져나갑니다.\ 가.. 더 옳은 표현이지 않을까요?
공지사항 잘 읽어 보세요~ -
클라우드
질문자는 어디가고 답변자들만~ ㅎㅎ ^^;;;
len/2 는 -_- 1 아닌가요 -_-?? ( len에 ab 두글자만 있으니 -_-;; )
어찌 계산해야 0이 나오는지 ;;;
len이 1이나 0인경우에만 len/2 가 0이 나올 수 있을텐데?? -
해골
아 그렇군요 좋은 가르침 감사합니다 ㅎㅎ
-
든해
제 짧은 소견으로는..
while 문에서 0이 아닐경우에 반복 한다라고 되어있는데..
null 을 만나도 while문이 중지 되는건지요?
for문에는 잘못된게 없는거 같은데..
공부좀 더해야겠다 OTL;; -
혜린
무슨말인진 모르겠지만 와일드문에서 무한반복되는거 아닌가요?