|
case '1'
case '2'
위와 같이 한번 해보시죠...
그리고 funcA에 있는 다음 세줄을 자세히 보세요...
1 i = j;
2 temp=i;
3 j=temp;
i와 j 값을 입력을 받았는데...
무엇인가가 이상하지 않나여??
우선 i에는 2를 j에는 5를 입력했다고 가정을 해봅시다..
1. i=5, j=5
2. i=5, temp=5,
3. j=5, temp=5,
결과적으로 i와 j는 같은 값을 가지게 되네여...
위의 세 문장은 아래와 같이 고쳐야 정확한 값이 나오겠죠??
temp=i;
i=j;
j=temp;
위와 같이 해야지 두값이 바뀌지 않을까여??
김경래 님이 쓰신 글 :
: #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를 넣으면 멈춰버리네여--;;
: 왜그렇져--?
:
|