提问者:小点点

显示值为:C++


我得到了这段代码,我必须选择正确的答案。

int x = 5;
int* y = &x;
cout << *y << endl;

现在:

  • a)y值升为幂
  • b)x所在单元的地址
  • c)可变单元地址y
  • d)值5

当我在程序中输入它时,我只是弹出5,但我不知道那是不是正确的答案。


共2个答案

匿名用户

好的,让我们回顾一下这段代码,但是你应该得到一本好书,从头开始。

int x = 5;

这定义了一个名为x的变量,它的初始值为5。

int * y = &x;

这定义了一个名为y的变量。它是一个int的指针,它的当前值是x的位置。如果x在存储器位置1000中,那么Y的当前值是1000。

cout << *y << endl;

这将输出y所指向的值。到目前为止,在这个例子中,y指向x,x是5,那么值就是5。

令人困惑的是<<。如果你已经习惯了其他语言,那么这并不一定是你想的那样。这是件大事。

在C++中,您可以根据任何一方出现的内容来更改任何运算符的含义。在本例中,coutostream--输出流。输出流将运算符<<定义为输出,而不是移位。因此,您所做的是将5发送到cout,然后它为您打印它。

所以这里没有按位数学。

匿名用户

这是创建一个变量x,将一个指针指向它y,并将它指向的值输出到5。如果要更改x的值,您将看到在输出*y时反映出相同的更改。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(显示|值|c++)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?