| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1899 人关注过本帖
标题:请教一个问题,谢谢了
只看楼主 加入收藏
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 7楼 North520
你的这个问题原因是两个scanf之间没有清除缓存中的内容。你在第一个scanf输入半径的时候,后面有个回车,在你输入第二个scanf的时候回读取。
所以按照Q版的方法也可以,或者你在第二个scanf前面加一句 fflush(stdin); //清空缓存
下面给你改后的代码:gcc可以通过
#include <stdio.h>
#include <stdlib.h>

#define PI 3.1415926

int main ()
{
    float r;
    char ch;
    printf("请输入半径:");
    scanf("%f",&r);
    printf("请输入运算标志:\n");
    printf("C-----计算周长:\n");
    printf("A-----计算面积:\n");
    printf("B-----计算面积和周长:\n");
    fflush(stdin);
    scanf("%c",&ch);

    switch(ch)
    {
    case 'c':
        {
            printf("周长是:%f",PI*2*r);
            break;
        }
    case 'A':
        {
            printf("面积是:%f",PI*r*r);
            break;
        }
    case 'B':
        {
            printf("周长是:%f,面积是:%f",PI*2*r,PI*r*r);
            break;
        }
    default:
        printf("运算标志错误!");
    }
    return 0;
}
2016-04-11 09:17
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:7 
以下是引用qq1023569223在2016-4-9 11:23:59的发言:

case后面要有空格。
不是必要的
只要能让编译器了解到 case 的一个独立的词法元素就可以
这里的 case 后面是 一个 '
编译器分析的时候 会把他们拆成两个独立元素
空格并不是必须的
case1 之所以需要空格 是因为 case1 完全有可能是一个变量名 函数名之类的东西
类似的
你写 case-1 也是可以的 问题只是 这样的代码太丑了

https://zh.
2016-04-11 09:54
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
回复 11楼 wanglianyi1
注意清除输入缓冲不应该用fflush(stdin)
因为 fflush是用于清理输出缓冲的
fflush(stdin)的做法是 微软一家的扩展
如果是gcc编译 这就行不通了

https://zh.
2016-04-11 09:55
North520
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 9楼 qq1023569223
可以了,谢谢了,为什么要俩个ch=getchar()
2016-04-11 22:19
North520
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 9楼 qq1023569223
可以了,谢谢了,为什么要用俩个ch=getchar()
2016-04-11 22:56
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
回复 15楼 North520
我代码有说明的啊!

   唯实惟新 至诚致志
2016-04-12 00:19
North520
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 16楼 qq1023569223
嗯嗯,看见了,谢谢了
2016-04-12 22:32
快速回复:请教一个问题,谢谢了
数据加载中...
 
   



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

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