有如下程序 #include main() { char* p1 = 0; int* p2 = 0; double* p3 = 0; printf("%d,%d,%d\n", sizeof(p1), sizeof(p2), sizeof(p3));

admin2021-02-25  36

问题 有如下程序
#include
main()
{
char* p1 = 0;
int* p2 = 0;
double* p3 = 0;
printf("%d,%d,%d\n", sizeof(p1), sizeof(p2), sizeof(p3));
}
程序运行后的输出结果是( )。

选项 A、4,4,4
B、1,4,8
C、0,0,0
D、1,2,4

答案A

解析 不可以把一个int型数据直接赋值给一个指针变量,只能用取地址运算符"&"把该整型变量的地址赋值给该指针变量,选项A)错误;函数类型若为指针类型则可以返回地址值,选项B)正确;函数传参过程中,是把实参的数据复制一份传给形参,所以改变形参的值不会对实参造成影响,选项C)正确;NULL的定义包含在头文件stdio.h中,所以选项D)正确;所以答案选A)。
转载请注明原文地址:https://kaotiyun.com/show/5Qtp777K
0

最新回复(0)