: 아래와 같이 소스를 작성하고
: gcc -o shell shell.c로 컴파일을 하니 에러가 납니다.
:
: main 안쪽에 float이 한개면 에러가 안나는데요... ^^;
:
: char 변수 선언을해도 유사한 에러가 나고...
:
: c언어 공부 첨하는 허접이라서요.. 헐헐.. 좀 갈켜주세요.
:
: 참고로, gcc는 2.96입니다.
:
: 다음은 에러 메시지 입니다.
: shell.c: In function `main':
: shell.c:30: parse error before `float'
: shell.c:31: `profits' undeclared (first use in this function)
: shell.c:31: (Each undeclared identifier is reported only once
: shell.c:31: for each function it appears in.)
:
: 이건 소스입니다. 별다른 의미 없는 소스지요...
:
: #include <stdio.h>
: #define JAN 0
: #define FEB 1
: #define MAR 2
:
: char Pause()
: {
: char c;
: printf("Press Enter to continue...");
: while ((c = getchar()) != '') {}
: return c;
: }
:
: float MilesToKnots(float miles)
: {
: return miles * 0.8684;
: }
:
: float KnotsToMiles(float knots)
: {
: return knots * 1.1516;
: }
:
: int main(void)
: {
: float miles;
: miles = MilesToKnots(25);
: printf("25 knots == %f miles", miles);
:
: float profits[12] ;
: profits[JAN] = 450;
: profits[FEB] = 1250;
: profits[MAR] = 789;
:
: printf("January == %.2f", profits[JAN]);
: printf("Febuary == %.2f", profits[FEB]);
: printf("March == %.2f", profits[MAR]);
:
: Pause();
: return 0;
: }
:
: --
: ###################################################
: 아름다운 방법으로 문제를 풀 수 있는 방법을 몰라 3일 동안 머리를
: 벽에 부딪혀가며 고민하는게 얼마나 매력적인 일인지 설명하는 것은
: 여전히 어려운 일이다. 하지만 당신이 한번 그런 과정을 거쳐 문제
: 를 풀어, 더 나은 방법을 발견하고 나면, 당신은 그것이 세상에서
: 가장 근사한 경험이라는 것을 알게 될 것이다. -리누스 토발즈
: ###################################################
: ㅡㅡ; 서명 열라 힘드네...
C에서는 변수를 선언이 연산문 뒤에 올 수 없습니다.
그래서 "float profits[12]"를 miles = MilesToKnots(25)
이 문장 위에서 선언 해 주셔야 되고 배열을 선언할 때
static으로 선언 해야 될 것 같네요..
즐거운 플밍되세요 ^^!