#include <stdio.h>
void add(int num1,int num2);
void subtract(int num1,int num2);
int main(void)
{
int x,z;
char c;
void (*pointer)(int, int);
printf(\"add 함수의 주소 : %x\\n\",add);
printf(\"subtract 함수의 주소 : %x \\n\",subtract);
printf(\"입력 : \");
scanf_s(\"%d %c %d\", &x, &c, &z);
if(c==\'+\')
pointer=add;
else if(c==\'-\')
pointer=subtract;
else
printf(\"두 번째 연산자는 \'+\'또는 \'-\'를 입력하세요.\\n\");
pointer(x, z);
return 0;
}
void add(int num1,int num2)
{
int result;
result=num1 + num2;
printf(\"%d + %d = %d입니다.\\n\",num1,num2,result);
}
void subtract(int num1,int num2)
{
int result;
result = num1 - num2;
printf(\"%d - %d = %d입니다.\\n\",num1,num2,result);
}
열혈본색 c언어책에 있는 포인터함수 예제인데
나는 그대로 따라햇고 소스도 어느정도 이해했거든?
근데 왜 안되지??
뭐가 문제인지 모르겠어
뭐가 어떻게 안되는지 이런걸 써야 되는거 아니냐?.. //scanf 저렇게 쓰는거 맞음?
플러스 마이너스로 입력받은 경우가 아닐경우에 pointer(x,z)는 어떻게 되는거임?
간단하니 니가해
ㅋㄱ//scanf_s는 scanf로쓰면 오류걸려서 임시방편으로 쓰고있는거고 저기서 문제될건 없어
문제가 저러고하면 주소랑 입력부분까지는 실행이되는 데 내가 1+1이라고 치면 그대로 끝나버린다는거야
그냥 아무키나 누르십시오 하고 끝나버림 ㅡㅡ;
scanf_s 따위를 묻는게 아님..
플마 입력아닌경우에는 else가 처리를 해주지요 ^^
한번 컴파일 해봐 되면 내 비쥬얼c++이 병1신인거겟지....
else가 처리해주는건 printf 뿐이지..