首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include int add(int x,int y){return(x+y);} void main() {int s,(*pf)(),a=1,b=2; pf=add; … } 则以下函数调用语句错误的是( )。
有以下程序: #include int add(int x,int y){return(x+y);} void main() {int s,(*pf)(),a=1,b=2; pf=add; … } 则以下函数调用语句错误的是( )。
admin
2020-06-16
47
问题
有以下程序:
#include
int add(int x,int y){return(x+y);}
void main()
{int s,(*pf)(),a=1,b=2;
pf=add;
…
}
则以下函数调用语句错误的是( )。
选项
A、s=pf(a,b);
B、s=add(a,b);
C、s=(*pf)(a,b);
D、s=*pf(a,b);
答案
D
解析
pf是一个指向函数的指针,本题的难度在于函数指针的调用。在C语言中,函数名会被转换为指向这个函数的指针,除非这个函数名作为&操作符的操作对象。因此,函数指针的调用可以是add(a.b)和pf(a,b),它们两者是一样的。另外,(*pf)(a,b)也是合法的,表示先对指针pf引用,再调用函数,指针两侧的括号必须有,可以理解为将函数指针反过来转换为函数名再调用函数,其实在ANSI C标准中将pf(a,b)认为是(*pf)(a,b)的简写形式,并且推荐使用前者,因为它更符合函数调用的逻辑。但若写成*pf(a,b)的形式,则因为()优先级高于*,所以将先调用函数,再进行指针的解引用操作,但函数返回的是一个整型数值,因此,调用会出错,选项D不正确。
转载请注明原文地址:https://kaotiyun.com/show/vpCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设已有定义:floatx.则以下对指针变量p进行定义且赋初值的语句中正确的是()。
设有定义:inta,b;floatx,y;,则以下选项中对语句所做的注释叙述错误的是()。
C语言主要是借助以下哪个功能来实现程序模块化?()
设文件指针fp已定义,执行语句fp=fopen(“file”,“w”);后,以下针对文本文件file操作叙述的选项中正确的是()。
设有定义:inta=64,b=8;,则表达式(a&&b)和(aIb)&&(aIIb)的值分别为()。
请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<stdio.h>#
编写函数fun,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。例如:m=12,n=8时,运行结果为495.000000。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何
下列给定程序中,函数fun和funx的功能是:用二分法求方程2x3一4x2+3x一6=0的一个根,并要求绝对误差不超过0.001。例如,若给m输入一100,给n输入90,则函数求得的一个根为2.000。请改正程序中的错误,使它能得出正确的结果。
下面说法正确的是()。
下面的说法正确的是()。
随机试题
在分销渠道创建的途径中,最节省精力的途径是()
单侧眼睑闭合障碍见于
患者,男,50岁。患心脏病多年,某夜间突然意识丧失,四肢抽搐,面色青紫,随即呼吸停止,触脉搏、颈动脉搏动均消失,此时不应采取的急救措施是
根据《水利建设项目稽察办法》(水安监[2017]341号),稽察组应在现场结束后5个工作日内,提交由()签署的稽察报告。
行业分析方法中,历史资料研究法的不足之处是()。
战略环境分析不包括()。
地陪认找旅游团的时候,要核实团队除了()外的基本信息,以防接错。
幼儿园9个小朋友分别穿1~9号球衣,老师从中随意挑出5个小朋友上场参加拍球游戏,则这5个小朋友的球衣号码之和为18的概率是:
阅读下列材料,回答问题:材料一:美洲金银产地的发现,土著居民被消灭、被奴役和被埋葬于矿井,对东印度开始进行的征服和掠夺,非洲变为商业性的掠取黑人的场所:这一切标志着资本主义生产时代的曙光。这些田园诗式的过程是原始积累的主要因素……(奴隶制)是殖民
Employee的表结构为:职工号、单位号、工资,查询单位号为"002"的所有记录存储于临时表文件info中,正确的SQL命令是
最新回复
(
0
)