|
그건 당연한겁니다.
switch(c) 로 해서..
funcA나 funcB가 수행된후 어떻게 되는지를 잘 생각해 보세요.
컴파일러의 디버그 기능중 trace를 이용하면..
한줄씩 프로그램의 수행되는 라인을 추적할수 있기 때문에
쉽게 찾을수 있을겁니다.
아님 아래 소스의 플로우 차트를 그려봐도 알수있겠군요..
김경래 님이 쓰신 글 :
: #include<stdio.h>
: #include<conio.h>
: int funcA(int i,int j);
: void funcB(void);
:
: #define ESC '\x1b'
: void main()
: {
: int a,i,j;
: printf("수를 입력하시요\n");
: scanf("%d",&a);
:
:
: char c;
: while((c=getch())!=ESC)
: {
: switch(c)
: {
: case 1 :funcA(i,j);
: break;
: case 2: funcB();
: break;
: }
:
:
:
: }
:
: }
:
: int funcA(int i, int j)
: {
:
: int temp;
: printf("수를 입력하시요");
: scanf("%d",&i);
: scanf("%d",&j);
:
: i = j;
: temp=i;
: j=temp;
: printf("i는 %d\n",i);
: printf("j는 %d\n",j);
: printf("두수를 보면 교환되었다는것을 알수가 있습니다. \n");
: return 0;
:
:
:
: }
: void funcB(void)
: {
: printf("천재가?");
: }
:
:
: 음.. 이렇게 했는데여.. 돌리면여..
: ESC키를 누르면여 나가지는데여 그외에 1이나 2를 넣으면 멈춰버리네여--;;
: 왜그렇져--?
:
|