| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1168 人关注过本帖
标题:关于C二级,请各位帮忙答疑两道题
只看楼主 加入收藏
nightelf
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-9-3
收藏
 问题点数:0 回复次数:10 
关于C二级,请各位帮忙答疑两道题

1.有以下程序 float fun(int x;int y) {return (x+y); } main() {int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun (a+c,b),a-c)); } 程序运行后的输出结果是 A)编译出错 B)9 C)21 D)9.0 答案是B,为什么

2.有以下说明和定义 fun(int *c){……) main() { int(*a)()=fun,*b(),w[10],c; | | | } 在必要的赋值之后,对fun函数的正确调用语句是 A)a=a(W) B)(*a)(&c) C)b=*b(w) D) fun(b) 答案是B,能讲一下吗?

3.有以下程序 #include<stdio.h> main() { int a=2,c=5; printf("a=%%d,b=%%d\n",a,c); } 程序运行后的输出结果是 A) a=%2,b=%5 B)a=2,b=5 C) a=%%d,,%%d D)a=%d,b=%d 答案是D,不明白是为什么

[此贴子已经被作者于2004-09-04 09:52:15编辑过]

搜索更多相关主题的帖子: include 二级 答案 return 
2004-09-03 21:27
我想要飞
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2004-6-15
收藏
得分:0 

第一题

函数先调用的是a+c,b 也就是10和5 返回的是15

第2次效用的是15和a-c 也就是15和-6;

那返回的就自然是9了

第2道不懂

第3道你写错了吧

怎么输出的是d 那里来的d ?


个人宣言;黑暗的腹地,我睁开双眼, 世界哑口无言。。。
2004-09-03 23:24
雨夜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-9-4
收藏
得分:0 

第一题已经有人回答你了

第二题因为所定义的函数的变量是指针,而在主函数的时候又将函数定义为指针,所以这题选B

第三题是因为在%后面是直接打印出来的,比如你在那打一个a=%%s,输出来的就是a=%s,如果你有C方面的书上面应该有说的,在那个输入输出函数那!好好看看啊!

2004-09-04 09:05
nightelf
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-9-3
收藏
得分:0 
那第一题为什么不是9.0

新手,请多关照
2004-09-04 09:55
雨夜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-9-4
收藏
得分:0 

那个2楼的不是回答你了吗?

你自己看一下吗?

2004-09-04 10:07
nightelf
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-9-3
收藏
得分:0 
最后输出的是%3.0f,既然是f,应该选D9.0呀,为什么选B

新手,请多关照
2004-09-04 10:50
musicyxy
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2004-8-14
收藏
得分:0 

%3.0f是指输出3列,共有0位小数!所以是9。

如果是%4.2f就是9.00了。


2004-09-04 16:17
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
不错

2004-09-04 16:51
weixiaohe
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-8-6
收藏
得分:0 

#include<stdio.h> main() { int a=2,c=5; printf("a=%%d,b=%%d\n",a,c); } 程序运行后的输出结果是 A) a=%2,b=%5 B)a=2,b=5 C) a=%%d,,%%d D)a=%d,b=%d 答案是D,不明白是为什么

你把a=%d d看成"%d" 如果在头文件加一个#define d "%d"

输出就变成了,printf("a=%d,b=%d\n",a,c); 其实是一样的,

2004-09-06 19:26
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 
第2题考的是一个指向函数的指针,
fun(int *c){……)
int(*a)()=fun   

我想问一下这儿定义指向函数的指针时为什么不给出函数的形参??即如下定义:
int(*a)(int *c)=fun;

有的书上这样定义指向函数的指针,我一直很纳闷,哪位高手指点一下:
typedef    char *     (*pFun)(char *, char *);     // 可能是C++的写法
这儿是不是定义个类型啊????
 

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2004-09-06 19:53
快速回复:关于C二级,请各位帮忙答疑两道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017071 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved