目录: 标题| 题干| 答案| 搜索| 相关
问题

有以下程序:include <stdio.h> main( ) { int


有以下程序:include <stdio.h> main( ) { int a=7,b=8,* p,*q, *r; p=&a;q=&b; r=p; p=q;q=r; printf(" % d,% d,% d,% d \n", * p, * q.a,b);程序运行后的输出结果是()。

  • A8,7,8,7
  • B7,8,7,8
  • C8,7,7,8
  • D7,8,8,7
参考答案
参考解析:

程序中P和q是指针变量,它们分别存放了变量a和L的地址,执行P=&a;q= &b;语句后,*p和*q的值就分别为7和8,执行r=P;P=q;q=r;实际上是进行指针变量p和 q的交换,即将其存放的a和b的地址进行了交换,也就是P指向了b,q指向了a,此时a,b的值并没有改变,所以输出的*P,*q的值为8,7,而a,b的值仍为7,8。

分类:其他
相关推荐

1、有以下程序#include <stdio.h>main() {

有以下程序#include <stdio.h>main() { char b=2; printf("%dn", b=b<<3);}程序的运行结果是A.4 B.8 C.16 D.2000A4 B8 C16 D2000

2、有以下程序 #include <stdio.h> main()

有以下程序#include <stdio.h>main(){char c1=&rsquo;1&rsquo;,c2=&rsquo;2&rsquo;;c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回...

3、有以下程序: #include<stdio.h> main() { char

有以下程序: #include<stdio.h> main() { char c[6]; int i=0; for(j<6;c[i]=getchar(),i++); for(i=0,i<6;i++)putchar(c[i]); printf(" "); } 如果从键盘上输...

4、设有如下程序 #include<stdio.h> main() { int*

设有如下程序 #include<stdio.h> main() { int**k,*j,i=100; j=&i;k=&j; printf("%d ",**k); } 上述程序的输出结果是______。A运行错误B100Ci的地址Dj的地址

5、若有下面的程序段#include "stdio.h"main(){ int

若有下面的程序段#include "stdio.h"main(){ int i=6; while(i--) printf("%d",--i); printf("\n");}那么程序的输出结果为A.531 B.420C.654321 D.死循环A531 B420C654321 D死循环

6、有如下程序#include "stdio.h"main(){ int a,b

有如下程序#include "stdio.h"main(){ int a,b,m; for(a=5;a>=1;a--) { m=0;  for(b=a;b<=5;b++)  m=m+a*b; } printf("%d\n",m);}上述程序的运行结果是A.30 B.15 C.20 D.10A30 B15 C20 D10