输出问题
下面的输出结果怎么会跟我想的不一样,请指教!!
- C/C++ code
#include<stdio.h> void fnSwap( int *x, int *y )//利用栈基本操作,完成x,y的交换{ int temp; printf("交换前\nx=%d,y=%d",*x,*y); temp = *x; *x = *y; *y = temp; printf("\n交换后\nx=%d,y=%d",*x,*y);}void main(){ int c,d; char b; while(1) { printf("请输入两个要交换的数\n"); scanf("%d",&c); scanf("%d",&d); fnSwap( &c, &d ); printf("要继续请按任意键,返回主菜单请按n:\n"); scanf("%c",&b); if ( b == 'n' ) break; }}[解决办法]
- C/C++ code
//不加也可以,按我下面的做行了。可能看了就也明白了的。#include<stdio.h> void fnSwap( int *x, int *y )//利用栈基本操作,完成x,y的交换 { int temp; printf("交换前\nx=%d,y=%d",*x,*y); temp = *x; *x = *y; *y = temp; printf("\n交换后\nx=%d,y=%d",*x,*y); } int main() { int c,d; char b; while(1) { printf("请输入两个要交换的数\n"); scanf("%d",&c); scanf("%d",&d); fnSwap( &c, &d ); printf("要继续请按任意键,返回主菜单请按n:\n"); fflush(stdin); scanf("%c",&b); if ( b == 'n' ) break; } return 0;}