关于语言的几道题18.已知inta,*p=&a;则函数调用中错误的是()。A)scanf(“%d”,&a);B)scanf(“%d”,p);C)printf(“%d”,a);D)scanf(“%d”,*p);20.已知:intx;则下面的说明指针变量pb的语句()是正确的。A)intpb=&x;B)int*pb=x;C)int*pb=&x;D)*pb=*x;答案:解释:21.已知:double*p[6];它的含义是()。A)p是指向double型变量的指针B)p是double型数组C)p是指针型数组D)p是数组指针答案:解释:22.已知:chars[10],*p=s;则在下列语句中错误的语句是()。(解释每个选项)A)p=s+5;B)s=p+s;C)s[2]=p[4];D)*p=s[0];答案:解释:23.已知:chars[100];inti;则在下列引用数组元素的语句中,错误的表示形式是()。A)s[i+10]B)*(s+i)C)*(i+s)D)*((s++)+i)答案:解释:24.已知:charb[5],*p=b;,则正确的赋值语句是()。A)b=”abcd”B)*b=”abcd”C)p=”abcd”D)*p=”abcd”答案:解释:25.下列对字符串的定义中,错误的是()。A)charstr[7]=”FORTRAN”B)charstr[]=”FORTRAN”C)char*str=”FORTRAN”D)charstr[7]={‘F’,’O’,’R’,’T’,’R’,’A’,’N’}答案:解释:26.已知:chars[20]=”programming”,*ps=s;则不能引用字母o的表达式是()。A)ps+2B)s[2]C)ps[2]D)ps+=2,*ps答案:目的不是仅仅要答案,只是感觉不明白,希望能给出解释,谢谢