下面程序欲对两个整型变量的值进行交换,以下正确的说法是 。 main() {int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(2)a=%d,b=%d\n",a,b); } swap (int p,int q) {int t; t=p;p=q;q=t;}
举一反三
- 下面程序应能对两个整型变量的值进行交换。以下正确的说法是__________。 int main() { int a=10,b=20; printf("%d,%d",a,b); swap(&a,&b); printf("%d,%d",a,b); return 0; } void swap(int p,int q) { int t; t=p;p=q;q=t; }
- 若有定义int a, b;则用( )定义的函数,执行语句swap(&a, &b);后,变量a与b的值没有交换。 A: swap(int *p, int *q) { int *t; t=(int*)malloc(sizeof(int)); //分配4个字节的存储空间给t *t=*p;*p=*q;*q=*t; } B: swap(int*p, int*q) { int t; t=*p;*p=*q;*q=t; } C: swap(int *p, int *q) { int *t; t=p; p=q; q=t; } D: swap(int *p, int *q) { int a, *t=&a; *t=*p; *p=*q; *q=*t; }
- 以下程序的运行结果是______。voidswap(int**r,int**s){int*t;t=*r;*r=*s;*s=t;}voidmain(){inta=1,b=2,*p,*q;p=&a;q=&b;swap(&p,&q);printf("%d,%d\n",*p,*q);}
- 有以下程序,swap函数能把两个整数进行交换,参数是两个整数的指针。[br][/br] void swap(int *x,int *y) { int t; //临时保存数据用 } main() { int m=4; int n=10; int *p= ;int *q= ; swap(p,q); printf(“%d,%d\n”,m,n); } 结果是 10 4
- 中国大学MOOC: 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3。void swap( int *p, int *q ){ int t; t=*p; *p=*q; *q=t;}void main( ){ int a=3, b=5; swap(______________________) ; printf(After swap %d, %d, a, b);}