728x90
반응형
SMALL
#include <stdio.h>
struct vision{
double left, right;
};
struct vision exchange(struct vision robot);
int main(void){
struct vision robot;
printf("vision input : ");
scanf("%lf%lf", &(robot.left), &(robot.right));
robot = exchange(robot);
printf("change vision : %.1lf %.1lf\n", robot.left, robot.right);
return 0;
}
struct vision exchange(struct vision robot){
double temp;
temp = robot.left;
robot.left = robot.right;
robot.right = temp;
return robot;
}
### 구조체 정의
- `struct vision`은 로봇의 좌우 시력을 나타내는 `left`, `right`라는 두 개의 `double` 타입 멤버를 가집니다.
### `main` 함수
- 사용자로부터 로봇의 좌우 시력 값을 입력받습니다. `scanf("%lf%lf", &(robot.left), &(robot.right));`를 통해 `robot` 구조체의 `left`와 `right` 멤버에 해당 값을 저장합니다.
- `exchange` 함수를 호출하여 로봇의 좌우 시력 값을 교환합니다. 교환된 구조체를 `robot` 변수에 다시 할당합니다.
- `printf("change vision : %.1lf %.1lf\n", robot.left, robot.right);`를 사용하여 교환된 시력 값을 출력합니다.
### `exchange` 함수
- 이 함수는 `struct vision` 타입의 인자 `robot`을 받아, 로봇의 좌우 시력 값을 교환합니다.
- 임시 변수 `temp`를 사용하여 `left`와 `right`의 값을 교환하고, 교환된 `robot` 구조체를 반환합니다.
### 코드 실행 예시
사용자가 로봇의 좌우 시력으로 `1.2`와 `2.1`을 입력하면, 출력은 다음과 같이 됩니다:
```
vision input : 1.2 2.1
change vision : 2.1 1.2
```
728x90
반응형
LIST
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 17) 구조체 포인터의 사용 (0) | 2024.09.27 |
---|---|
chapter 17) 공동체를 사용한 학번과 학점 데이터 처리 (0) | 2024.09.26 |
chapter 17) typedef 를 사용한 자료형 재정의 (0) | 2024.09.25 |
chapter 16) 3개의 문자열을 저장하기 위한 동적 할당 (0) | 2024.09.24 |
chapter 16) 동적 하랑한 저장 공간을 사용하는 프로그램 (0) | 2024.09.23 |