📅  最后修改于: 2023-12-03 15:26:05.320000             🧑  作者: Mango
UGC-NET CS 2017 年 11 月 – III 问题 50 是一道涉及程序员的问题。该问题需要你发现下面两个代码片段的输出,该输出是什么。答案是一个包含 C 和 C++ 变量或函数的语句。
下面是两个代码片段:
#include<stdio.h>
int main()
{
int x,y;
x==2;
y=++x;
int z= x++ + ++y;
printf("%d, %d, %d",x,y,z);
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int x=10,y=20;
int &z=x;
z=y;
cout<<x<<" "<<y<<" "<<z;
return 0;
}
代码片段 1 的输出为:
3, 3, 7
代码片段 2 的输出为:
20 20 20
上述代码片段 1 中,我们指定 x 等于 2(注意这里用的是“==”而不是“=”),然后将 x 的值加 1(++x),并将结果赋给 y。接着,我们计算 x+1 和 y+1 的值,并将结果存储在 z 中。
z = 3 + 3
z = 6
终于,我们打印了 x、y 和 z 的值。
输出: 3, 3, 7
上述代码片段 2 中,我们定义了 x 和 y,然后创建一个名为 z 的整数的引用,并将 x 的引用分配给它。
接着,我们将 y 的值分配给 z(z 和 x 指向同一个内存地址,因此,如果我们修改 z,x 的值也会发生更改)。
所以,最后,x,y 和 z 的值都变成了 20。
输出: 20 20 20
代码片段 1 中,我们使用了变量赋值和自增的混合方法来求值。代码片段 2 中,我们创建了一个引用,并将另一个变量的值赋给引用。