📅  最后修改于: 2023-12-03 15:10:08.195000             🧑  作者: Mango
指针是C++中最重要的基本数据类型之一,程序员必须深入了解它的概念、用法和应用。本文将为大家介绍来自sanfoundry网站的有关指针的MCQ(多项选择题),供大家学习和测试。
int a[] = {10, 20, 30, 40, 50};
int *p = a;
则以下哪个选项是正确的?
a) p++ = 30;
b) p + 2 = &a[2];
c) ++*p = 20;
d) *(p + 3) = 60;
答案:c)
解释:++*p = 20;
表示增加了指向a[0]的指针*p的值,所以a[0]的值也变为了20。
#include <iostream>
using namespace std;
int main() {
int a = 1, b = 2, c = 3;
int *p1 = &a, *p2 = &b, *p3 = &c;
cout << *p1 << "," << *p2 << "," << *p3 << endl; // 输出1,2,3
*p1 = *p2 = *p3;
cout << *p1 << "," << *p2 << "," << *p3 << endl; // 输出3,3,3
return 0;
}
a) 1,2,3 和 3,3,3
b) 1,1,1 和 3,3,3
c) 3,3,3 和 1,1,1
d) None of these选项都不正确
答案:a)
解释:第一行输出了p1、p2和p3的值,第二行将它们都指向了c,所以第二行输出了3,3,3。
#include <iostream>
using namespace std;
void function1(int *ptr) {
*ptr = *ptr * *ptr;
}
int main() {
int num = 5;
function1(&num);
cout << num; // 输出25
return 0;
}
a) 5
b) 25
c) 30
d) 编译错误
答案:b)
解释:function1(&num)
调用函数function1,并给它传递了变量num的地址。函数中将num的值乘以自身,并将结果存储回num。所以程序的输出是25。
学习指针的概念和用法是C++编程的重点之一,程序员必须掌握它的基本知识。以上的MCQ题目提供了一些实现指针的例子,帮助各位程序员理解和应用指针。