以下选项中,对指针变量不正确的操作是()。
A: ints[10],*q;q=&s[0];
B: ints[10],*q;q=s;
C: ints[10];int*q=s=1000;
D: ints[10];int*q1=s,*q2=s;*q1=*q2;
A: ints[10],*q;q=&s[0];
B: ints[10],*q;q=s;
C: ints[10];int*q=s=1000;
D: ints[10];int*q1=s,*q2=s;*q1=*q2;
举一反三
- 写出下面程序的输出结果:sub(ints,intm,intn,charst[]){intp,q,t;t=st[s];p=s;while(1){q=(p+m)%n;if(q==s)break;st[p]=st[q];p=q;}st[p]=t;}main(){charb[]="0123456789";sub(1,2,10,b);puts(b);}
- 有以下程序段,输出结果为()。 #include<stdio.h> main() {int a=10,*p,**q,***s; p=&a; q=&p; s=&a; printf("%d,%d,%d",*p,**q,***s); }
- 有四组对指针变量进行操作的语句,以下判断正确的选项是( )。 (1)int *p,*q;q=p; int a,*p,*q;p=q=&a; (2)int a,*p,*q;q=&a;p=*q; int a=20,*p;*p=a; (3)int a=b=0,*p;p=&a;b=*p; int a=20,*p,*q=&a;*p=*q; (4)int a=20,*p,*q=&a;p=q; int p,*q;q=&p;
- 以下程序的运行结果是______。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);}
- 以下正确的定义语句和赋值语句是 A: intb[3][5],(*p)[3],(*q)[5];p=b;q=b B: f1oatb[3][5],*p[3];p[0]=b[0];p[2]=*b+4 C: doubleb[3][5],s[5][3],*q;q=b;s=q D: intb[10],*q;char*s;q=b;s=b