| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1105 人关注过本帖
标题:这个程序哪里有问题,请指教
取消只看楼主 加入收藏
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
 问题点数:0 回复次数:7 
这个程序哪里有问题,请指教

#include <stdio.h>

float add(float x,float y)
{return(x+y);}
float sub(float x,float y)
{return(x-y);}
float dev(float x,float y)
{return(x/y); }
float mul(float x,float y)
{return(x*y);}


main()
{
float a,b;
char c;
printf("input two numbers:\n");
scanf("%f%f",&a,&b);
printf("input the character:\n");
scanf("%c",&c);
float (*p)(float,float);
switch(c)
{
case '+' : p=add;printf(" %f\n",(*p)(a,b));break;
case '-': p=sub;printf("%f\n",(*p)(a,b));break;
case '/': p=dev;printf(" %f\n",(*p)(a,b));break;
case '*' : p=mul;printf(" %f\n",(*p)(a,b));break;}}
这个程序哪里有错,请指教,我在C-FREE上运行到输入符号时就结束了,不再继续执行了。

搜索更多相关主题的帖子: 指教 
2006-02-28 09:48
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 

没人理?自己顶一下


2006-02-28 11:19
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 

3楼的办法真的可以啊,多谢,多谢!
不过,可不可以再详细的讲解一下啊,因为我看不懂哦


2006-02-28 16:50
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 
我在scanf("%c",&amp;c);后又加一句printf("%c\n",c);但在运行的时候没有输出C,为什么会不输出呢,想不明白

2006-02-28 16:56
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 

明白了,多谢各位。


2006-03-01 08:39
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 
11楼和12楼的方法都可以啊,(我是在C-FREE下运行的)
今天真是大开眼界,可是能不能说明一下,为什么这样处理就可以啊?

2006-03-01 12:33
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 
吼吼,明白了,scanf输入字符串时本身就是以回车作为字符串结束的,在%C前家空格是为了把回车输入忽略。

2006-03-01 16:50
chenfeiam
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-2-16
收藏
得分:0 
明白了,多谢

2006-03-02 12:33
快速回复:这个程序哪里有问题,请指教
数据加载中...
 
   



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

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