标题:小白问题,一个书本上的for循环例题,我编出来结果不对,求指点
只看楼主
sqmike
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-7-5
 问题点数:0 回复次数:5 
小白问题,一个书本上的for循环例题,我编出来结果不对,求指点
#include <stdio.h>
#include <ctype.h>

int main (void)
{
    char ifcontinue = "n";
    double value = 0.0;
    double average =0.0;
    double total = 0.0;
    int count = 1;


    for ( ; ; )
    {
        printf("\nyou can enter a number:");
        scanf("%lf",&value);
        total += value;
        ++count;

        printf("do you want to continue? (Y or N):");
        scanf("%c", &ifcontinue);

        if (tolower(ifcontinue) == 'n')
            break;
    }
    average = value/count;
    printf("/n you enter %d numbers, and the average is %lf", count ,average);
    return 0;
}

这是我自己编的,我感觉和课本的差不多啊,但是运行的时候 出现那个do you want to continue 以后也没出现要我填Y/N的地方,直接又回去了出现了you can enter a number,  求指点,谢谢
搜索更多相关主题的帖子: continue average include double number 
2013-07-05 11:54
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
第一句 char ifcontinue = "n"; 就编译不通过,还“但是运行的时候 出现那个……”,怎么可能呢?除非你是神仙

将你代码中的语法弄正确后,
将 scanf("%c", &ifcontinue); 中的 "%c" 改为 " %c" 试试
2013-07-05 12:49
sqmike
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-7-5
得分:0 
对对对,别人也指出说有这个错误,可是运行的时候软件确实没有提醒我,而且真的运行了,我没必要说谎啊,我用的是code block这个软件.  对,版主厉害,我改了一下是成功了,可是这是为什么呢?
2013-07-05 14:13
changebook
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2013-7-4
得分:0 
char ifcontinue = "n";这句话有问题,char是字符用‘n’表示“n”是字符串
fflush(stdin);
scanf("%c", &ifcontinue);第二次输入前清空一下缓存

2013-07-05 17:09
Mirob
Rank: 4
来 自:农村
等 级:业余侠客
帖 子:191
专家分:264
注 册:2012-7-20
得分:0 
字符和字符串定义的时候,注意区别,一个是单引号一个是双引号
2013-07-05 18:10
sqmike
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-7-5
得分:0 
好好,知道了,谢谢大家了
2013-07-05 19:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-416711-1-1.html




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

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