>> Delete Reply from No. 30847 article
No. RE: [질문]gcc 다시질문요!!

등록 2001-05-20 02:06:00 By localhost     조회 1
이름 anonymous    

		: 아래와 같이 소스를 작성하고
: 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으로 선언 해야 될 것 같네요..
 즐거운 플밍되세요 ^^!
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved