int x; const int &rx=x; int * constpx=&x;以下语句正确的是

提问:int x; const int &rx=x; int * constpx=&x;以下语句正确的是

网友回答:

若有 int x; const int &rx=x; int * const px=&x;则以下语句正确的是:

*px=50;

解析:int * const px=&x; 则px指向x的地址为常量地址,不能改变,所以px=50;是错误的;但此地址中的内容却是可以改变的,即*px=50;是正确的。

const int &rx=x; rx 是 x 的一个引用 x 是一个变量,而 rx 虽然是 x 的别名,它表示的是一个常量;可以改变 x 的值,而不能通过对 rx 的赋值语句而改变其值;所以 rx=50;是错误的,而&rx=50,为语法错误。


相关推荐

用java编写终端输入需要判断的数据调用判断素数Static int sushu(int x)的方法

用java编写终端输入需要判断的数据调用判断素数Static int sushu(int x)的方法

创建类AA,并在AA类中创建方法f1(intx,inty)实现x与y按由小到大的顺序输出。

创建类AA,并在AA类中创建方法f1(int x,int y)实现x与y按由小到大的顺序输出。

int x=6;执行语句X+=X-=X*X

int x=6;执行语句X+=X-=X*X

设有inta=65;执行语句printf("%x\n",a);后的输出结果是

设有int a=65;执行语句printf("%x\n",a);后的输出结果是

C语言中intx=020与intx=20的区别

C语言中intx=020与intx=20的区别

void myprint(point* posi, int n);

void myprint(point* posi, int n);

int i=12,j=25,k=56;编程序输出表达式(i=i+j,j=j+k,k=k+i)值

int i=12,j=25,k=56;编程序输出表达式(i=i+j,j=j+k,k=k+i)值

int *fun(int*){}与int fun(int*){} 的区别在哪

int *fun(int*){}与int fun(int*){} 的区别在哪

{int a=1,b=1;for( ;a--; ;)b--;printf("%d %d",a,b)}

{int a=1,b=1;for( ;a--; ;)b--;printf("%d %d",a,b)}

int a = 3; printf("%d,%d\n",a,(a-=a*a));

int a = 3; printf("%d,%d\n",a,(a-=a*a));

typedef int Info Type; typedef struct

typedef int Info Type; typedef struct

inta[4][4];int(*P)[4]=a;这个p指向的是数组a里的第4列所有元素吗?

int a[4][4];int (*P)[4]=a; 这个p指向的是数组a里的第4列所有元素吗?

分析#include int main()

分析#include int main()

设有定义:int a=1, *p=&a; float b= 2.0; char c='A'; ()。

设有定义:int a=1, *p=&a; float b= 2.0; char c='A'; ()。

为啥‘int main()'报错,求解。

为啥‘int main()'报错,求解。

盒子游戏,游戏玩家专属个性阅读社区


©CopyRight 2010- 2020 BOXUU.COM Inc All Rights Reserved

鄂公网安备 35020302000061号- 鄂ICP备2020015574号-1