首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
34
问题
有以下程序:
#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全国计算机二级
相关试题推荐
有以下程序(说明:字母A的ASCII码值是65):#includevoidfun(char*s){while(*s){if(*s%2)printf("%c",*s);s++;}}main(
设有定义:inta,b;floatx,y;,则以下选项中对语句所做的注释叙述错误的是()。
若有以下程序:#include<stdio.h>main(){inta=一11,b=10;a%=b%=4;printf("%d%d\n",a,b);}则程序的输出结果是()。
以下关于结构化程序设计的叙述中正确的是()。
请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如,在键盘输入字符串2345210,函数返回长整型数2345210。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun
请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include
设有两行定义语句:intscanf;floatcase;则以下叙述中正确的是()。
关系的实体完整性要求关系中不能为空的属性是()。
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
关于地址和指针,以下说法正确的是()。
随机试题
一足月女婴,生后3天出现黄疸,近2天食欲减退,黄疸明显加重。体检:脐部红肿,有脓性分泌物,体温35.5℃。以下哪项检查对明确诊断很重要
在下列知识产权的原始取得中,国家机关的授权行为是权利主体资格最终得以确认的必经程序的有()。
寄存人寄存贵重物品应向保管人声明由保管人验收。寄存人未声明的,该物品毁损灭失后,保管人【】
人民代表大会制度作为我国人民行使当家作主权利,实现社会主义民主的基本形式,下列选项中的决定因素是:()
混凝土强度与水灰比、温度、湿度以及骨料等因素密切相关,说法正确的是( )。
(2012年)根据《行政许可法》、《发票管理办法》、《发票管理办法实施细则》及有关规定,税务机关按照行政许可方式实施管理的特定涉税事项是()。
对被判处1年以下有期徒刑或者剩余刑期在1年以下的罪犯,由()代为执行刑罚。
关于被判处缓刑的犯罪分子应当履行的法定义务有错误的是()。
下面代码的输出结果是>>>True/False
下列关于操作系统的主要功能的描述中,不正确的是
最新回复
(
0
)