程序已有部分语句:int a=5,t=3,*p;p=对于指针变量p的使用,下面不正确的赋值语句是( )。
A: t=*p;
B: a=t;
C: *p=&t
D: *p=t;
A: t=*p;
B: a=t;
C: *p=&t
D: *p=t;
举一反三
- 中国大学MOOC: 程序已有部分语句:int a=5,t=3,*p;p=&a;对于指针变量p的使用,下面不正确的赋值语句是( )。
- 假设 t 是整型变量,下面( )选项可以交换指针 p 和 q 所指的 int 型变量的值。 A: t = p; *p = *q; q = t; B: t = &p; *p = *q; q = *t; C: t = *p; *p = *q; *q = t; D: 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; }
- 设已有定义:int a[10] = {15,12,7,31,47,20,16,28,13,19}, *p;下列语句中正确的是:( )。 A: for(p=a; a<(p+10); a++){ printf("%d\t",*p);} B: for(p=a; p<(a+10); p++){ printf("%d\t",*p);} C: for(p=a,a=a+10; p<a; p++){ printf("%d\t",*p);} D: for(p=a; a<p+10; ++a){ printf("%d\t",*p);}
- 若有定义语句:int s[4][6], t[6][4], (*p)[6];,则以下正确的赋值语句是( )。 A: p=t; B: p=s; C: p=s[2]; D: p=t[3];