c언어 사칙 연산 해보기
리턴값없는 경우
#include <stdio.h>
void add(int, int);
void sub(int, int);
void mul(int, int);
void div(int, int);
int main() {
int i, j,choice;
printf("사칙연산을 수행할 두 수를 입력하세요\n");
scanf("%d%d", &i, &j);
printf("어떤 연산을 수행하시겠습니까? 1)add, 2)sub, 3)mul, 4)div\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add(i, j);
break;
case 2:
sub(i, j);
break;
case 3:
mul(i, j);
break;
case 4:
div(i, j);
break;
default:
printf("error\n");
break;
}
return 0;
}
void add(int a, int b) {
printf("%d + %d = %d\n", a, b, a + b);
}
void sub(int a, int b) {
printf("%d - %d = %d\n", a, b, a - b);
}
void mul(int a, int b) {
printf("%d * %d = %d\n", a, b, a * b);
}
void div(int a, int b) {
printf("%d / %d = %f\n", a, b, a /(float) b);
}
리턴값 있는 경우?
#include<stdio.h>
int add(int, int);
int sub(int, int);
int mul(int, int);
int div(int, float);
int main() {
int i, j,choice;
printf("두 수 입력\n");
scanf(" %d%d", &i, &j);
printf("골라바\n");
scanf("%d", &choice);
switch (choice)
{
case 1:
add(i, j);
printf("%d+%d=%d", i, j, i + j);
break;
case 2:
sub(i, j);
printf("%d-%d=%d", i, j, i - j);
break;
case 3:
mul(i, j);
printf("%d*%d=%d", i, j, i * j);
break;
case 4:
div(i, j);
printf("%d/%d=%d", i, j, i / j);
break;
default:
printf("error\n");
break;
}
return 0;
}
int add(int a, int b) {
return a+b;
}
int sub(int a, int b) {
return a-b;
}
int mul(int a, int b) {
return a*b;
}
int div(int a,float b) {
return a/b;
}
void를 int로 변경해서 쓰긴 했는데 이렇게 하는게 맞나요? 출력은 되긴하는데.. 이 둘의 차이가 어려워요 ㅠㅠㅠ