为以下程序找出正确的语句。
#include "stdio.h"
int * gPtr;
int main()
{
int * lPtr = NULL;
if(gPtr == lPtr)
{
printf("Equal!");
}
else
{
printf("Not Equal");
}
return 0;
}
(A)它将始终打印等于。
(B)它将始终打印不等于。
(C)由于gPtr尚未在程序中初始化,因此有时会打印“等于”,有时会打印“不等于”。答案: (A)
说明:应该注意,诸如gPtr(它是指向int的全局指针)之类的全局变量被初始化为零。这就是为什么gPtr(它是一个全局指针并隐式初始化)和lPtr(它是一个本地指针并显式初始化)将具有相同的值,即正确答案是a的原因。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。