已有定义inta=2,*p1=&a,*p2=&a;下面不能正确执

题目

已有定义inta=2,*p1=&a,*p2=&a;下面不能正确执行的赋值语句是()

  • A、a=*p1+*p2;
  • B、p1=a;
  • C、p1=p2;
  • D、a=*p1*(*p2);
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下面的一维数组定义中,错误的定义格式为()。

A、inta={1,2,3}

B、)inta[10]={O}

C、inta[]

D、inta[5]


参考答案:C

第2题:

分析下面的程序 main() { int*p1,*p2,*p; int x=4,y=6; p1=&x;p2=&y; if(x<y) {p=p1;p1=p2;p2=p; } printf("%d,%d,",*p1,*p2); printf("%d,%d\n",x,y); } 程序的输出结果为_______。

A.6,4,4,6

B.4,6,6,4

C.4,6,4,6

D.6,4,6,4


正确答案:A
解析:if语句执行前,指针变量p1指向变量x,指针变量p2指向变量y。由于xy成立,p1、p2分别指向变量y和变量x,因此,程序输出结果是6,4,4,6。

第3题:

已有定义 int a=2, *p1=&a, *p2=&a 下面不能正确执行的赋值语句是()。

A.a=*p1+*p2

B.p1=a

C.p1=p2

D.a=*p1*(*p2)


答案:B

第4题:

若有定义int*p1,*p2;则指针变量p1、p2不能进行运算的是()

A.<

B.=

C.+

D.-


参考答案:C

第5题:

分析下列程序: include main() {int*p1,*p2,*p; inta=6,b=9; p1=&a;p2=&b; if

分析下列程序:

#include<stdio.h>

main()

{ int*p1,*p2,*p;

inta=6,b=9;

p1=&a;p2=&b;

if(a<B) {p=p1;p1=p2;p2=p;}

printf("%d,%d",*p1,*p2) ;

printf("%d,%d",a,B) ;

}

程序的输出结果为( )。

A.9,6 6,9

B.6,9 9,6

C.6,9 6,9

D.9,6 9,6


正确答案:A
解析:通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。

第6题:

在下面的二维数组定义中,正确的是()。

A.inta[5][];

B.inta[][5];

C.inta[][3]={{1,3,5},{2}};

D.inta[](10);


正确答案:C

第7题:

下面程序的输出结果是 include includevoid main( ) { char p1[10] ,p2

下面程序的输出结果是

#include<iostream.h>

#include<string.h>

void main( )

{

char p1[10] ,p2[10] ;

strcpy(p1,"abc") ;

strcpy(p2,"ABC") ;

char str[50] ="xyz";

strcpy(str+2,strcat(p1,p2) ) ;

cout < < str;

}

A.xyzabcABC

B.zabcABC

C.xyabcABC

D.yzabcABC


正确答案:C
解析:该函数的调用方式是strcpy(字符数组,字符串) ,其中“字符串”可以是串常量,也可以是字符数组。函数的功能是将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制。②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy( ) 函数来处理。strcat (字符数组,字符串) 的功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。②连接前两个字符串都有结束标志'\0',连接后“字符数组”中存储的字符串的结束标志'\0'被舍弃,只在目标串的最后保留一个'\0'。

第8题:

下面程序的输出结果是

#include

#include

void main()

{

char p1[10],p2[10];

strepy(p1,”abc”):

strcpy(p2,”ABC”);

char str[50]=”xyz”;

strcpy(str+2,strcat(p1,p2));

cout <

}

A.xyzabcABC

B.zabcABC

C.xyabcABC

D.yzabcABC


正确答案:C

第9题:

下面程序的输出结果是includeincludevoid main( ){char p1[10],p2[10]s

下面程序的输出结果是 #include<iostream.h> #include<string.h> void main( ) { char p1[10],p2[10] strcpy(p1,"abc"); strcpy(p2,"ABC"); char str[50]="xyz"; strcpy(str+2,strcat(p1,p2));

A.xyzabcABC

B.zabcABC

C.xyabcABC

D.yzabcABC


正确答案:C
解析:该函数的调用方式是strcpy(字符数组,字符串)其中“字符串”可以是串常量,也可以是字符数组。函数的功能是将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制。②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。strcat (字符数组,字符串)功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。②连接前两个字符串都有结束标志'\0',连接后“字符数组”中存储的字符串的结束标志'\0'被舍弃,只在目标串的最后保留一个'\0'。

第10题:

分析下面函数 swap(int *p1,*p2) {int *p; *p=*p1;*p1=*p2;*p2=*p; } 则该程序功能为( )

A.交换*p1和*p2的值

B.正确,但无法改变*p1和*p2的值

C.交换*p1和*p2的地址

D.可能造成系统故障,因为使用了空指针


正确答案:D

更多相关问题