题目内容

以下程序有错误,错误原因是( ) 。main(){int *p,i; char *q,ch;p=&i; q=&ch; *p=40; *p=*q;……}

A. p和q的类型不一致,不能执行*p=+*q语句
B. *p中存放的是地址值,因此不能执行*p=40语句。
C. q没有指向具体的存储单元,所以*q没有实际意义。
D. q虽然指向具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句

查看答案
更多问题

若有说明:int*p1,*p2,m=5,n;以下均是正确的赋值语句的选项是( )。

A. p1=&m;P2=&p1;
B. p1=&m;p2=&n; *p1=*p2
C. p1=&m;p2=p1;
D. p1=&m; p1=p2;

若已定义char s[10];则在下面表达式中不表示s[1]的地址是( )。

A. s+1
B. s++
C. &s[0]+1
D. &s[1]

若有以下定义,则对a数组元素的正确引用是( )。inta[5],*p=a;

A. *&a[5]
B. a+2
C. *(p+5)
D. *(a+2)

若有以下定义和语句,则对a数组元素的正确引用为( )。答案:Aint a[2][3],(*p)[3]; p=a;

A. (p+1)[0]
B. *(*(p+2)+1)
C. *(p[1]+1)
D. p[1]+2

答案查题题库