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

最简单的方法是把scanf("%c",&c);改成scanf("%s",&c);


2006-03-01 10:58
iyuohz
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用bullbatLT在2006-3-1 10:58:00的发言:

最简单的方法是把scanf("%c",&c);改成scanf("%s",&c);

不是吧?

最简单的方法应该是 在 scanf("%c",&c)的%前面加一个空格,scanf(" %c",&c)
%s 可能会报错

图片附件: 游客没有浏览图片的权限,请 登录注册


2006-03-01 11:33
栀子花开
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-23
收藏
得分:0 
9楼说得没错

2006-03-01 11:35
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
栀子花开
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-23
收藏
得分:0 
因为你输入的c是字符,如果是数字的话,就没有这个问题存在了。
scanf在输入字符的时候要注意。12楼的方法,主要是抓住了输入格式。不错。

2006-03-01 17:25
栀子花开
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-23
收藏
得分:0 
在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。所以在你的程序中,把回车作为有效字符了。函数fflush(stdin);是用来清空输入串的,这样把回车也清掉了,后面就没有问题了。

一緒に頑張ってくださいね。

2006-03-01 17:36
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
得分:0 
fflush(stdin);这是什么函数啊!我怎么从来没见过

2006-03-01 18:52
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
得分:0 
SORRY,我发表时没看到上面

2006-03-01 18:53
xiaowoniu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-1
收藏
得分:0 

#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,p;
char c;
printf("input two numbers:\n");
scanf("%f%f",&a,&b);
printf("input the character:\n");
scanf("%s",&c);

switch(c)
{
case '+': {p=add(a,b);printf("%f\n",p);getch();break;}
case '-': {p=sub(a,b);printf("%f\n",p);getch();break;}
case '/': {p=dev(a,b);printf("%f\n",p);getch();break;}
case '*': {p=mul(a,b);printf("%f\n",p);getch();break;}
}
}
这个程序应该没有问题了,你可以运行尝试一下,顺便说一下哈,格式最好再清晰一点,这样别人也可以看得更清楚。
我也是刚刚开始学习,大家互相帮助哦!

[此贴子已经被作者于2006-3-1 22:16:06编辑过]

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



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

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