C语言的问题

1.若有说明语句double*P,a;则能通过scanf语句正确给输入项读入数据的程序段是()A.*p=&a;scanf("%lf",p);B.*p=&a;scanf("... 1.若有说明语句double *P,a;则能通过scanf语句正确给输入项读入数据的程序段是()
A.*p=&a;scanf("%lf",p); B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%lf",*p); D.p=&a;scanf("%lf",p);

有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,不正确的是()
A.fun(fun(0)); B.strlen(fun(0)); C.abs(fun(0)); D.scanf("%d",&(fun()));

有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,正确的是()
A.int*x;x=fun(0); B.int x;x=fun(&x);
C.int x=1;x+fun(5)*4/6+8; D.printf("%d",fun());

给点步骤和思路,谢谢了
单选题 只有1个答案
展开
 我来答
silvernii
推荐于2017-09-25 · TA获得超过3638个赞
知道大有可为答主
回答量:1667
采纳率:0%
帮助的人:1626万
展开全部
若有说明语句double *P,a;则能通过scanf语句正确给输入项读入数据的程序段是()
A.*p=&a;scanf("%lf",p); B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%lf",*p); D.p=&a;scanf("%lf",p);
解:p=&a;将a的地址赋值给p,
scanf("%lf",p);从键盘获取一个数值赋值给地址p指向的变量
所以选D

有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,不正确的是()
A.fun(fun(0)); B.strlen(fun(0)); C.abs(fun(0)); D.scanf("%d",&(fun()));
解:fun的参数是个float类型的数,但是fun(0)返回的是一个int数,所以A错误;strlen的参数是个char*,所以B也错误;abs的参数可以是int,所以C对;
D中间对一个int数取地址是错误的
所以选C

有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,正确的是()
A.int*x;x=fun(0); B.int x;x=fun(&x);
C.int x=1;x+fun(5)*4/6+8; D.printf("%d",fun());
解:x是int*,fun(0)返回int,所以A错
fun参数是float,但是&x是int*,所以B错
fun()不是变量,不能给fun()赋值,所以D错
C是对的
匿名用户
2009-07-11
展开全部
1.若有说明语句double *P,a;则能通过scanf语句正确给输入项读入数据的程序段是()
A.*p=&a;scanf("%lf",p); 错误,不能这么赋值,*p是非法操作。
B.*p=&a;scanf("%f",p); 同错误。
C.p=&a;scanf("%lf",*p); 错误,应该提供地址(p),而不是数值(*p)
D.p=&a;scanf("%lf",p); 正确!

有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,不正确的是()
A.fun(fun(0)); 正确,发生类型提升
B.strlen(fun(0)); 错误,strlen要求提供的参数是指针,不是int类型。
C.abs(fun(0)); 正确!
D.scanf("%d",&(fun())); 错误,不能对堆栈上的常量取地址。

有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,正确的是()
A.int*x;x=fun(0); 错误,=两边类型不匹配,且不能自动转换类型。
B.int x;x=fun(&x); 错误,fun函数的参数是float,不是地址。
C.int x=1;x+fun(5)*4/6+8; 正确
D.printf("%d",fun()); 错误,必须给fun提供参数!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户27300
2009-07-12 · TA获得超过254个赞
知道答主
回答量:64
采纳率:0%
帮助的人:13.5万
展开全部
我的想法与匿名先生差不多。但他的回答我有一点补充,如果第二题只能选一个,那应该是D。因为strlen的参数是指针型,但指针本身与无符号整型的表示和计算是一样的,因此在此应该可以算对。

参考资料: 如果您的回答是从其他地方引用,请表明出处

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式