📅  最后修改于: 2023-12-03 15:39:55.442000             🧑  作者: Mango
教资会网络(University Grants Commission National Eligibility Test)是印度的一项全国性考试,旨在评估高等教育机构教师和研究人员的资格和能力。其中,UGC NET CS(Computer Science)是针对计算机科学领域的考试。
问题 26 是一道关于 C++ 编程语言的基础问题,要求考生判断程序的输出结果。
#include<iostream>
using namespace std;
int main()
{
int arr[] = {10,20,30,40,50};
int *p = arr;
*(p++) += 123;
cout<<*p<<endl;
return 0;
}
这段程序使用了指针(*p)和数组(arr)的知识点。
程序中定义了一个 int 类型的数组 arr,长度为 5,并初始化为 {10,20,30,40,50}。同时,定义了一个 int 型指针 p,指向数组 arr 的首地址(arr[0])。
接下来,使用了前置自增运算符(++)和后置自增运算符(++)对指针 p 进行了运算。其中,前置自增运算符会先将指针 p 自增 1,然后将其所指向的值取出来;而后置自增运算符则是先将其所指向的值取出来,再将指针 p 自增 1。
*(p++) += 123;
因此,这段代码的作用是将 arr[0] 这个元素的值加上 123。
最后,程序输出 *p 的值,也就是 arr[1] 的值,即输出结果为 143。
正确的答案为: D) 143。