有以下程序 #include main() { int n,*p=NULL; *p=&n; printf("Input n:"); scanf("%d",&p); printf("output n:"); printf("%d\n",p); } 该程序试

admin2019-12-17  26

问题 有以下程序
#include
main()
{ int n,*p=NULL;
*p=&n;
printf("Input n:");
scanf("%d",&p);
printf("output n:");
printf("%d\n",p);
}
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( )。

选项 A、int n,*p=NULL;
B、*p=&n;
C、scanf("%d",&p)
D、printf("%d\n",p);

答案A

解析 给已经定义的指针变量赋值不需要再写"*",选项B)错误;scanf("格式控制符",输入项)函数中的输入项为地址,所以输入项为指针时不需要写取地址运算符"&",选项C)错误;输出语句printf()输出的为指针p指向的数据,应加上取值运算符"*",即printf("%d\n",*p);,选项D)错误。所以答案选A)。
转载请注明原文地址:https://kaotiyun.com/show/u1Cp777K
0

最新回复(0)