为以下程序找出正确的语句。
#include "stdio.h"
int * arrPtr[5];
int main()
{
if(*(arrPtr+2) == *(arrPtr+4))
{
printf("Equal!");
}
else
{
printf("Not Equal");
}
return 0;
}
(A)编译错误
(B)它将始终打印等于。
(C)它将始终打印不等于。
(D)由于arrPtr的元素未在程序中初始化,因此它将打印“等于”或“不等于”。答案: (B)
说明:这里arrPtr是一个指向int的全局指针数组。应当指出,诸如arrPtr之类的全局变量被初始化为零。这就是为什么所有arrPtr元素都隐式初始化为零,即正确答案为b的原因。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。