若有说明:int *p,m=5,n;下面正确的程序段是A.A p=n; scanf(“%d”,p);B.B p=n;scanf(“%d”,*p);C.C scanf(“%d”,n); *p=n;D.D p=n;*p=m;

若有说明:int *p,m=5,n;下面正确的程序段是

A.A p=&n; scanf(“%d”,&p);

B.B p=&n;scanf(“%d”,*p);

C.C scanf(“%d”,&n); *p=n;

D.D p=&n;*p=m;


参考答案和解析
D 解析:“&”是求址运算符,“*”是指变量说明符。选项A)、B)应改为scanf('%d',p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险建议不使用。

相关考题:

若有说明:int *p, a=1, b 以下正确的程序段是()。 A.p=&bB.scanf("%d",&b)scanf("%d", &p) *p=bC.p=&bD.p=&bscanf("%d", *p) *p=a

阅读下面程序: include void fun(int n) { int x(5); static int y(10); if(n>0) { 阅读下面程序:include<iostream.h>void fun(int n){int x(5);static int y(10);if(n>0){++x;++y;cout<<x<<","<<y<<end1;}}void main(){int m(1);fun(m);}则该程序的输出结果是______。

阅读下面程序: include void f(int n) { int x(5); static int y(10); if(n>0) { ++ 阅读下面程序:include<iostream.h>void f(int n){int x(5);static int y(10);if(n>0){++x;++y;cout<<x<<","<<y<<endl;}}void main(){int m(1);f(m),}则该程序的输出结果是【 】

若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。A.p1=n;p2=p1;B.p1=n;C.p1=n;*p2=p1;D.p1=n;p2=p1;

若有说明:int * p,m=51; n;,以下正确的程序段是()A.p= scanf("%d",D.p= p=&m;

若有说明:int *p,m=5,n;,以下正确的程序段是A.p=n;scanf("%d",p);B.p=n;scanf("%d",*p)C.scanf("%d",n);*p=n;D.p=n;*p=m;

若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。A.p1:n;p2=pl;B.p1=n;C.p1=n;*p2=p1;D.p1=n;p2=p1;

若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是A.p=n;scanf("%d",p);B.p=n;scanf("%d",*p);C.scanf("%d",n);D.p=n;scanf("%d",p);

现有如下程序段#include "stdio.h"int fun(int k,int *m){if(k%3)*m=k*k;else *m=k/3;}main(){ int (*p)(int,int *),m;p=fun;(*p)(78, m);printf( "%d\n",m);}则程序段的输出结果为A.24B.25C.26D.27

若有以下程序main(){ int p,a=5;if(p=a!=0)printf("%d\n",p);elsepfintf("%d\n",p+2);}执行后输出结果是【 】。

若有说明:int*p1,*p2,m=3,n;则p1=p2=p1;是正确的赋值语。() 此题为判断题(对,错)。

若有以下程序段:include using namespace std;int main (){ int a[]={1,4,5}; int *p 若有以下程序段: #include <iostream> using namespace std; int main () { int a[]={1,4,5}; int *p=a[0],x=6, y,z; for (y=0; y<3; y++) z= ( (* (p+y) <x) ? *(p+y) :x); cout<<z<<end1; return 0; } 程序运行后的输出结果是( )。A.1B.4C.5D.2

若有定义int *p,n;则通过语句scanf能够正确读入数据的程序段是( )。A.p=n;scanf("%d",p);B.p=n;scanf("%d",*p);C.scanf("%d",n);D.p=n;scanf("%d",p);

若有说明:int *p,m=5,n;以下正确的程序段是( )。A.p=n;scanf("%d",p);B.p=n;scanf("%d",*p)C.scanf("%d",n);*p=6;D.p=n;*p=m;

若有说明:int*p,m=5,n;,以下正确的程序段是( )。A.p=m; scanf("%d",p)B.p=n; scanf("%d",p)C.scsnf("%d",p) p=n;D.p=n; p=m;

若有以下程序段: struct st {int n; int*m: }; int a=2,b=3,c=5; struct st s[3]=({101,a},{102,c},{103,B)}; main() {struct st*p; p=s; } 则以下表达式中值为5的是( )。A.(*p).mB.*(p+1)->mC.*(p++)->nD.(p++)(*m)

若有以下程序:includeusing namespace std;class sample{private:int n;public:sampl 若有以下程序: #include<iostream> using namespace std; class sample { private: int n; public: sample(){} sample(int m) { n=m; } void addvalue(int m) { sample s; s.n=n+m; *this=s; } void disp() { cout<<"n"=<<n<<end1; } }; int main() { sample s(10); s.addvalue(5); s.disp(); return 0; } 程序运行后的输出结果是A.n=10B.n=5C.n=15D.n=20

阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。[说明]下面程序实现十进制向其它进制的转换。[Java程序]ClasS Node{int data;Node next;}class Transform{private Node top;public void print(){Node p;while(top!=null){P=top;if(P.data>9)System.out.print((char)(P.data+55));elseSystem.out.print(p.data);top=p.next;}}public void Trans(int d,int i){//d为数字;i为进制int m;(1) n=false;Node p;while(d>0){(2);d=d/i;p=new Node();if( (3) ){p.data=m;(4);top=P;n=true;}else{p.data=m;(5);top=P;}}}}

有以下程序includestdio.hint*f(int*p,int*q);main( ){int m=1,n=2,*r=m;r=f(r,stdio.hint*f(int*p,int*q);main( ){int m=1,n=2,*r=m;r=f(r,n);printf(”%d\n”,*r);}int-f(int*P,int*q)(return(*p*q)?p:q;)程序运行后的输出结果是______。

若有说明:int * p,m=51; n;,以下正确的程序段是( )A.p=m; scanf("%d",p)B.p=n; scanf("%d",P)C.scanf("%d",p) p=n;D.p=n; p=m;

A)(仕兰微面试题目)#i ncludevoid testf(int*p){*p+=1;}main(){int *n,m[2];n=m;m[0]=1;m[1]=8;testf(n);printf("Data v alue is %d ",*n);}------------------------------B)#i ncludevoid testf(int**p){*p+=1;}main(){int *n,m[2];n=m;m[0]=1;m[1]=8;testf(n);printf(Data v alue is %d",*n);}下面的结果是程序A还是程序B的?Data v alue is 8那么另一段程序的结果是什么?

若有以下程序main(){ int p=5,a=5; if(p=1!=0) printf("%d\n",p); else printf("%d\n",p+2);}程序执行后的输出结果是

若有说明:int*P,m=5,n;,以下正确的程序段是( )。 A.B.C.D.A.zB.0C.元素eh[5]的地址D.字符Y的地址

若有说明: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; *p2=*p1;

假设堆内存分配均成功,则下面程序段完全正确的是()。A、int*p=newint(3);cout;;*p;deletep;B、int*p=newint[5]={1,2,3,4,5};for(inti=0;i;5;i++)cout;;p;delete[]p;C、int*p=newint[5];for(inti=0;i;5;i++,p++){*p=i;cout;;*p;}delete[]p;D、以上程序段均正确

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

单选题若有说明:int *p1,*p2,m=5,n; 以下都是正确的赋值语句的选项是()。Ap1=m; p2=p1;Bp1=m; p2=n; *p1=*p2;Cp1=m; p2=p1;Dp1=m; *p2=*p1;

单选题若有以下程序段struct st{ int n; struct st*next;};struct st a[3] = {5,a[1],7,a[2],9,'\0'}, *p;p = a[0];则以下选项中值为6的表达式是(  )。Ap-n++B(*p).nC++(p-n)Dp-n