이게 왜 안돼는거예요
글쓴이: stargt / 작성시간: 일, 2006/01/22 - 10:56오후
#include <stdio.h> void swap(int *, int*); void sum(int, int); main() { sum(1, 5); sum(10, 5); sum(1, 10); sum(2, 2); } void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void sum(int min, int max) { int i, n; if(min > max) swap(&min, &max); printf("%d", min); n = min; for(i = min+1; i = max; i++){ printf("+%d", i); n += i; } printf("=%d\n", n); printf("%d에서 %d까지의 합은 %d\n", min, max, n); }
책보고 똑같이 따라헀는데(한글자도 틀림없이요) 실행하면
+5+5+5+5+5+5+ .......
이렇게 무한 루프가 나버립니다. 책그대로 따라했는데 뭐가 문제인가요
저자는 볼란드 컴파일러를 사용하고 저는 gcc썼습니다
Forums:
[quote][code:1] for(i = min+1; i
비교 부분에서 max를 i에 대입하는 일 말고는 아무런 비교도 하지 않는군요 :wink:
;;;그러면 저자는 어떻게 원하는 대로 컴파일이 되었을까요...
;;;
그러면 저자는 어떻게 원하는 대로 컴파일이 되었을까요... 컴파일러 차이인가요? 어떻게 해결하지;
#include <stdio.h>
int main()
{
while(1)
printf("0");
return 0;
}
오타겠죠. i<=max 가 아니었을까요?for (시작하기 전
오타겠죠. i<=max 가 아니었을까요?
for (시작하기 전에 한 번 실행 ; 이 부분인 거짓이면 중단 ; 한 번 되풀이할 때 마다 실행)
{매번 되풀이 되는 부분 }
i=max는 위 실행 내용대로라면 절대로 거짓일 수 없어서 무한루프에 빠지는 것입니다.
[quote="stargt"];;;그러면 저자는 어떻게 원하는 대
좋은 프로그래머라면 문제가 생겼을 때 제일 먼저 자신을 의심해야 하는 거예요.
비교 연산자(==, <=, >=, !=)가 아닌 대입 연산자(=)를 썼는데 잘 될리 만무하잖아요. :wink:
[quote="Kroisse"][quote="stargt"];;;
책에 오탈자가 생겼을 수도 있잖습니까. =)
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
i<=max 하니까 돼네요 ㅡㅡ책에는 확실히 i=max ..
i<=max 하니까 돼네요 ㅡㅡ
책에는 확실히 i=max ...
이거 지금 오타 10번째 발견하는거군요;
#include <stdio.h>
int main()
{
while(1)
printf("0");
return 0;
}
책을 바꾸시면 어떨까요;;;참고로 어떤 책의 경우는 책 원고 내용
책을 바꾸시면 어떨까요;;;
참고로 어떤 책의 경우는 책 원고 내용을 모두 직접 시험해보았다고 서문에 적혀있습니다. (제목은 생략합니다.8))
[quote="검은해"]책을 바꾸시면 어떨까요;;;참고로 어떤 책
혹시 서평에 어떤 독자 분이 '저자의 사진이 너무 많이 나와서 난감하다'라고 토로한 책을 쓰신 저자 분의 다른 책을 말씀하시는 건가요??? 8)
여하튼, 그렇기 때문에 조엘씨는 비교 연산자를 사용 시에 변수를 이퀄의 오른쪽에 두길 권하고 있습니다.
if ( a == 0 )
보다는
if ( 0 == a )
라고 적는다면 최소한
if ( a = 0 )
과 같은 실수는 금방 잡아내겠죠.... (사실 저도 이런 실수를 많이하곤 합니다;; )
life is only one time
아뇨, 두 분이 쓰신 책을 말한 것이었습니다. (^^;)좋은 책이
아뇨, 두 분이 쓰신 책을 말한 것이었습니다. (^^;)
좋은 책이긴 한데, 어쩌면 제가 포인터를 이해하기 위해 몇 년이 걸린 것은 이 책 때문일지도 모릅니다.
무슨내용인지 몰라도..
역시 포인터가 원수임.. ㅠ,ㅠ
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
댓글 달기