티스토리 뷰
본 포스팅은 렉토피아(http://www.lectopia.com) 의 대학 IT 특강 중
정혜경의 C언어 & 기초 자료구조 강의를 수강하는 수강생이 올린 질문글을 토대로 작성하였습니다.
질문.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include<stdio.h> void inputdist(double dist); void inputspeed(double speed); void output(double dist, int hour, int min, double sec); int main(void) { double dist, speed, sec; int hour, min; inputdist(dist); inputspeed(speed); hour = dist / speed; min = ((dist / speed) - hour) * 60; sec = (((dist / speed) - hour)*60 - min) * 60; output(dist, hour, min, sec); return 0; } void inputdist(double dist) { printf("거리를 입력하시오(km단위): "); scanf("%lf", &dist); } void inputspeed(double speed) { printf("시속을 입력하시오(km/h단위): "); scanf("%lf", &speed); } void output(double dist, int hour, int min, double sec) { printf("%.2lf km => %d시간 %d분 %.3lf 초 소요됨\n",dist,hour,min,sec); return; } | cs |
이렇게 코드를짰는데 디버깅에러가 뜨더군요 함수부선언 호출 정의는 제대로만든것같은데 어디가문제인지 알수있을까요??
답변.
네에~ 코드를 보니 void형 함수를 사용하셨군요~~
main 함수 안에서 값을 받아와서 사용하려면 로컬 함수에서 값을 return 해주던가 아니면 포인터를 사용해야 합니다.
예제 첨부해드릴테니 참고해서 공부하세요~~ 열프 즐프~~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> double inputDist(); int main() { double dist = 0.0; dist = inputDist(); printf("입력받은 값은 %lf 입니다.\n",dist); return 0; } double inputDist() { double dist = 0.0; printf("거리를 입력하시오 : "); scanf("%lf", &dist); return dist; } | cs |
'개발노트 > 질문과 답변' 카테고리의 다른 글
Q&A : 링크에러 발생시 해결방법 (0) | 2015.07.08 |
---|---|
Q&A : Call by pointer 란? (0) | 2015.07.02 |
Q&A : 함수의 반환값과 함수 선언부 (0) | 2015.06.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 정렬
- 클라이언트
- 클래스
- 파이썬
- UML
- 파이썬예제
- socket
- 데이터베이스
- 소켓
- 디렉터리
- 라즈베리파이
- 티라노 시그널
- 파일
- 티그널
- C/C++
- 리눅스
- 액터
- 쓰레드
- 유즈케이스
- C
- 프로세스
- 자료구조
- 터미널
- MFC
- 악보
- 스레드
- C++
- Sort
- 소켓 프로그래밍
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함