B2024001225 윤지선
12주차 과제 본문
내가 가지고 있는 동전은 argument 그게 자판기로 들어가는 순간 그때부터는 parameter
#구조적 프로그래밍(structured programming)
# int main (void) 에서 void는 C언어에서 생략하지 않는 것이 좋음.
# 리턴값이 없는 함수나 매개변수가 없는 함수는 그 위치에 비어있다는 뜨인 void를 씀.
함수 만드는 문제가 기말고사에서 20점 문제!!!!!
(리턴값) (함수 이름) (매개변수)
ex) void display(void)
이 때 리턴값과 매개변수가 없으면 void를 쓰면 됨.
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time;
struct tm *time_info;
char timeString[9]; // HH:MM:SS 형식의 문자열
// 현재 시간 가져오기
time(¤t_time);
time_info = localtime(¤t_time);
// 시간 문자열로 변환하기
strftime(timeString, sizeof(timeString), "%H:%M:%S", time_info);
// 현재 시간 출력하기
printf("현재 시간: %s\n", timeString);
return 0;
}
뤼튼에게 물어본 현재 시간을 출력하는 소스
#include <stdio.h>
int main1 (void)
{
printf("메인1\n");
return 0;
}
int main(void)
{
printf("메인 시작\n");
main1();
printf("메인 끝\n");
return 0;
}
# main 함수는 딱 하나만 있어야 하기 때문에 main1 함수로 다른 함수를 만듦
위의 함수는 내가 새로운 함수를 만든 것임.
#include <stdio.h>
void display(void); //선언
int main (void)
{
printf("ppppp");
display();//호출 call
return 0;
}
void display(void) //정의
{
printf("안녕");
}
# 바로 리턴값을 쓰는 것은 나중에 리턴값을 쓸 수 없기 때문에 좋은 방법이 아니다.
#include <stdio.h>
int doubleNumber (int x)
{
return x*2;
}
int main(void) //정의
{
int x;
x = 10;
x = doubleNumber(3);
printf("%d",x);
printf("%d", doubleNumber(3));
return 0;
}
#include <stdio.h>
double avg(int x, int y, int z);
int main(void)
{
double x;
x = avg(2, 3, 5);
printf("%lf", x);
return 0;
}
double avg(int x, int y, int z)
{
return (x + y + z)/3.0;
}
#include <stdio.h>
char vending(int x) {
if (x == 1) return 'A';
else return 'B';
}
int main(void) {
char x;
x = vending(1);
printf("%c\n", x);
return 0;
}
12주차 강의자료 41p에 있는 오류를 챗gpt가 수정해준 내용
#include <stdio.h>
const char* vending(int x);
int main(void)
{
printf("%s\n", vending(2));
return 0;
}
const char* vending(int x)
{
if (x == 1) return "콜라";
else return "사이다";
}
ㄹ
#include <stdio.h>
//void view(void); //함수 선언 또는 원형
int main(void)
{
printf("메인 함수 : view호출 전\n");
view(); //함수 호출
printf("메인 함수 : view호출 후\n");
return 0;
}
void view(void) //함수 정의
{
printf("view함수\n");
}
예제 8.1
# 함수들끼리 호출하는 것은 얼마든지 가능함.
#include <stdio.h>
int add(int x, int y);//함수 선언, int add(int,int); 도 가능
int main(void)
{
int sum;
printf("메인 함수\n");
add(5,10); //함수를 호출하고 반환값을 보관하지 않음,
//15가 반환되었지만 사라짐
sum=add(5,10); //함수 호출 후 반환 값을 sum에 저장
printf("sum=%d\n",sum);
printf("add(5,10)=%d\n",add(5,10));//함수 호출 후 반환값을 바로 출력
return 0;
}
int add(int x,int y) //함수 정의
{ // x에 5, y에 10이 전달됨
int z;
z=x+y;
return(z); //위 세 줄 대신 return(x+y); 라고만 써도 됨
}