함수에 관한 이야기 입니다.
호시
섭씨 화씨 를 출력하면 바꿔서 출력해라 이런거입니다.
#includestdio.h
double fahrenheit(double c);
double celsius(double f);
int main(void)
{
int sel;
double val;
printf(섭씨 입력 1, 화씨 입력 2: );
scanf(%d, &sel);
if(sel==1)
{
printf(섭씨 입력: );
scanf(%lf, &val);
printf(변환된 화씨 : %f\n, fahrenheit(val));c
}
else if(sel==2)
{
printf(화씨 입력: );
scanf(%lf, &val);
printf(변환된 섭씨 : %f \n, celsius(val));f
else
printf(선택 오류 \n);
return 0;
}
double fahrenheit(double c)
{
return 1.8*c+32;
}
double celsius(double f)
{
return (f-32)/1.8;
}
여기에서 보면 위의 프린트에프함수에는 val로 되어있고 밑에 함수에는 c와 f로 되어있는데 어째서 입력값이 연동이 되는거죠?
스캔에프으 입력값이 밑의 함수에 연동이 될려면 val로 안되고 c와 f로 되어 있어야 하지 않나요??
그리구 화씨를 섭씨로 바꾸는 공식은 (f-32)*1.8 아닌가요?
-
상처입은마음 2023-10-20
부연설명을 하자만... Call By Value (값을 인자로 전달하여 함수를 호출하는 방법)는 값을 복사한다고 생각하시면 됩니다.
f=val; 과 같습니다. 복사를 해 주는거죠..
윗분 말씀처럼 c 나 f 역시 함수의 지역변수 이므로 함수가 리턴하면 사라집니다.
그러니.. 함수에서 인자를 받을때 f로 받든 c로 받는 상관이 없습니다.
가독성을 높여주고, 너무 길지 않은 선에서 원하는 변수명을 사용하시면 됩니다. -
에드가 2023-10-20
메인에서 val값을 함수에서는 c나f 로 전달받습니다
리턴해준뒤 함수가 끝나면 안에있는 c,f는 없어집니다 -
상큼한캔디 2023-10-20
\함수에 관한 이야기 입니다.\ → \함수에 관한 질문입니다.\
무슨 이야기인가 한참 생각했네요. -
앵겨쭈 2023-10-20
이 문제에 대해서는 스스로 생각해보시면 답이 나올겁니다.
힌트를 드리자면
val 대신에 30.0f 을 넣어도 되고
99.9f 를 넣어도 됩니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2691224 | 인자관련 질문입니다. (2) | 아잉형님 | 2025-04-11 |
2691196 | 원형 큐와 스택에서의 문제해결 (2) | 반혈 | 2025-04-11 |
2691169 | 동적할당 어디가 잘못된걸까요. | 츠키 | 2025-04-11 |
2691082 | puts vs printf | 리네 | 2025-04-10 |
2691058 | (C언어) 구구단을 작성해 봤는데 문제가 발생했습니다. (6) | 제나 | 2025-04-10 |
2690947 | 윈도우 메모장에서 버츄얼박스 우분투 붙여넣기 질문 (1) | 유우 | 2025-04-09 |
2690920 | 무슨 의미 인가요? | 딸기맛캔디 | 2025-04-09 |
2690891 | c++ 은행계좌 프로그램 | 알찬마루 | 2025-04-08 |
2690834 | c언어 if문에서 출력 질문합니다 ㅜㅜ (2) | 파랑새 | 2025-04-08 |
2690809 | c언어 질문좀 부탁드리겠습니다 | 개구리 | 2025-04-08 |
2690777 | 말 표현에서 궁금한점이 있습니다. 배열을 통째로 넘겨받으려면 매개변수로 배열을 선언할 수 있어야한다? (8) | 별햇님 | 2025-04-07 |
2690749 | 피라미드 질문드립니다 (for문 한개) | 도래솔 | 2025-04-07 |
2690718 | 함수 포인터반환 함수 질문 | 에드워드 | 2025-04-07 |
2690685 | 2중for문 도와주세여..;; | 흰추위 | 2025-04-07 |
2690655 | 팩토리얼 계산문제..질문~ (9) | 옆집꼬마야 | 2025-04-06 |
2690627 | c 변수 선언후 변수값 저장안하고 출력 | 방방 | 2025-04-06 |
2690600 | 릴리즈 모드로 컴파일해서 다른 컴퓨터에서도 실행파일을 실행할수 있는 방법 알려주세요 (5) | 제나 | 2025-04-06 |
2690576 | bin파일 저장 | 다올 | 2025-04-06 |
2690547 | C언어 뒷부분이라 너무 어려워서요;; 프로그래밍 하나만 부탁드립니다 (4) | 그루터기 | 2025-04-05 |
2690517 | cygwin에서요.. (1) | 엘보어 | 2025-04-05 |