有以下程序该程序试图通过指针p为变量rl读人数据并输出,但程序有多处错误,以下语句正确的是( )。A

题目

有以下程序

该程序试图通过指针p为变量rl读人数据并输出,但程序有多处错误,以下语句正确的是( )。

A.A

B.B

C.C

D.D

参考答案和解析
正确答案:A
选项B)的正确写法应为p=&n;,选项c)的正确写法应为seanf(”%d”,p);,选项D)的正确写法应为prinff(”%dXn”,*p);。故本题答案为A)。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序段: typedef struct node(int data;struct node*next;)*NODE; NODE P; 以下叙述中正确的是( )。

A.P是指向struct node结构变量的指针的指针

B.NODE p;语句出错

C.P是指向struct node结构变量的指针

D.P是struct node结构变量


正确答案:C
解析:本题中定义了一个指针类型的“用户类型名”NODE,通过“用户类型名”可以定义该类型的结构体变量。

第2题:

有以下程序l

该程序试图通过指针P为变量n读人数据并输出,但程序有多处错误,以下语句正确的是( )。


正确答案:A
选项B的正确写法应为P=&n;选项c的正确写法应为scanf(”%d”,P);选项D的正确写法应为printf(”%d\n”,*P)。

第3题:

有以下程序#include <stdio.h>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
在C语言中存在直接存取和间接存取两种访问内存数据的方法。前者利用变量名隐式地访问内存:首先定义变量,然后由编译系统完成从变量名到内存地址的映射工作,用户通过变量名访问内存空间,变量地址对用户完全透明。后者则通过指针显式地访问内存:用户直接使用变量的地址,或者将变量的地址值储存于特殊的变量中,然后通过此特殊的变量获取地址值访问内存。
为了更好地使用指针变量,C语言提供了获取变量地址和通过地址访问变量的运算符“&”和“*”。
(1)取地址运算符“&”的使用格式为:&变量名,如&a表示变量a在内存中的地址。本运算符实现从变量到地址的转化。
(2)指针运算符“*”的使用格式为:*指针变量名,如*p表示指针变量p所指向的变量的值。本运算符实现从地址到变量的转化。
在本题中,程序的作用已经给出,下面分别分析各选项中的语句。在选项A中,定义了一个整型变量n和一个整型指针变量p,并使其指向一个空,即不指向任何变量,该语句是正确的语句;在选项B中,由于*p表示值,而&n表示地址,它们之间进行赋值操作明显是错误的;在选项C中,由于p是指针变量,没有&p表示方法,因此错误;在D选项中,输出的是p指针所指向的地址,而不是p指针所指向的变量值,不符合题目的要求。

第4题:

有以下程序:inlucdemain()D)2 3 3{int n,*P=NULL;*p=&n;printf("input n:");scanf("%d

有以下程序: #inlucde<stdio.h> main()D)2 3 3 {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

第5题:

有以下程序 include main() { int n,*p=NULL; *p=&n; printf("

有以下程序 #include <stdio.h> 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()函数和printf()函数都是要对指针变量p指向的地址处的数据进行访问,不是变量本身。选项C)中多了取地址运算符,选项D)中少了指针运算符。

第6题:

有以下程序段 typedef struct node { int data; struct node *next; } *NODE; NODE p; 以下叙述正确的是( )。

A.p是指向struct node结构变量的指针的指针

B.NODE p;语句出错

C.p是指向struct node结构变量的指针

D.p是struct node结构变量


正确答案:C

第7题:

有以下程序 #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

第8题:

有以下程序段

typedef struct node { int data; struct node *next; } *NODE;

NODE p;

以下叙述正确的是

A)p 是指向 struct node 结构变量的指针的指针

B)NODE p ;语句出错

C)p 是指向 struct node 结构变量的指针

D)p 是 struct node 结构变量


正确答案:C

第9题:

有以下程序

#include <stdio.h>

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