running_sum.c 예제가 27페이지에 나오는데
소스가 이렇다 27페이지 책에 말이야
C 쌩 초짜는 이쯤되면 바로 GG 치고 나올꺼 같은데
이거 진짜 초보책 맞는거냐 ??
이거 번역서가 번역 ㅈㄹ이라고 원서로 보라고들 많이 하던데
대학 1학년이 이책 보면서 C 배우면 대가리가 금대가리 인거 아니냐 ???
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
double x, min, max, sum, avg;
if (scanf("%lf",&x) !=1) {
printf("No data Found -Bye!\n");
exit(1);
}
min = max = sum = avg = x;
printf("%5s%9s%9s%9sss\n%5s%9s%9s%9sss\n\n",
"Count", "Item", "Min", "Max", "Sum", "Average",
"-----", "----", "---", "---", "---", "--");
printf("]%9.1f%9.1f%9.1f.3f.3f\n",
1, x, min, max, sum, avg);
for ( i=2 ; scanf("%lf",&x) == 1 ; ++i ) {
if ( x < min)
min = x;
else if ( x > max )
max = x ;
sum+=x;
avg = sum / i;
printf("]%9.1f%9.1f%9.1f.3f.3f\n",
i, x, min, max, sum, avg );
}
return 0;
}
이게왜?서식문자만 지랄맞은거 빼곤는..
C를 해본사람은 printf에서 정렬때문에 지랄맞게 %5s 써대는거 말고는 상관없지 근데 C 처음하는 놈이 이 소스 이해할라면 지랄 같지 않냐 ??? 내가 머가리가 바보인거냐 ?
하긴 뭐 scanf리턴 값으로 조건문을 쓴다는 것이 쇼크일 수는 있을듯하겠음..
다른 책 골라라 머 이따구로 만들어놨어 이건 저자가 개념이 없는거다 코드는 언제나 가독성이 높아야 한다 이런 불친절한 코드는 불가피하게 필요한 경우를 제외하고는 패스하는게 낫다
사실 C언어 공부하는 사람들은 scanf리턴값을 활용하는것이 쇼크로 다가오면 안된다. 함수이든 아니면 다른 연산의 결과값의 반환이든 리턴값이 존재한다는것을 문법내부사이사이마다 인식하는것이 중요하다. 그래야 소스에 대한 이해가 확실해지고, 중간과정의 이미지를 머릿속에 그려내고 활용할 수 있다.
이야 횽들 친절한 답변 고마워