搜索
查看: 747|回复: 10
打印 上一主题 下一主题

求知啊为什么跟教程一模一样的代码编译后不能正常使用

[复制链接]
跳转到指定楼层
楼主
发表于 2014-7-30 09:51:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
    char answer='N';
    double total=0.0;
    double value=0.0;
    int count=0;
    printf("\nThis program calculation the the average of any number of values.");
    for(;;)
    {
    printf("\nEnter a value:");
    scanf("%lf",&value);
    total+=value;
    ++count;
    printf("Do you want to enter another value?(Y or N):");
    scanf("%c",&answer);
    if(tolower(answer)=='n')
    break;
    system("pause");
   }
   printf("The average is %.2lf\n,total/count");
       
        system("pause");
        return 0;
}

最佳答案

查看完整内容

1. scanf("%lf",&value);------这一句后面应该跟一句:getchar (); 用来接收回车; 否则下一个scanf("%c",&answer); 会接收回车符,程序会直接运行到 system("pause"); 这一句。 2.printf("The average is %.2lf\n,total/count");,双引号写错了位置;应该是这样写: printf("The average is %.2lf\n",total/count);
沙发
发表于 2014-7-30 09:51:15 | 只看该作者
小金伙子 发表于 2014-7-30 10:30
是可以运行 但是输出来的不正常 特别是数学运算符不起作用啊

1.    scanf("%lf",&value);------这一句后面应该跟一句:getchar (); 用来接收回车; 否则下一个scanf("%c",&answer); 会接收回车符,程序会直接运行到 system("pause");  这一句。

2.printf("The average is %.2lf\n,total/count");,双引号写错了位置;应该是这样写:
printf("The average is %.2lf\n",total/count);
板凳
发表于 2014-7-30 10:27:24 | 只看该作者
可以运行,程序没有问题。
地板
 楼主| 发表于 2014-7-30 10:30:09 | 只看该作者
嗨,强哥! 发表于 2014-7-30 10:27
可以运行,程序没有问题。

是可以运行 但是输出来的不正常 特别是数学运算符不起作用啊
5#
发表于 2014-7-30 11:28:21 | 只看该作者
scanf("%lf",&value);
    total+=value;
    ++count;
    printf("Do you want to enter another value?(Y or N):");
    scanf("%c",&answer);

这里,从缓冲区读取了一个回车

这是哪里的教程,还是不要看了
6#
发表于 2014-7-30 11:58:14 | 只看该作者
rosynirvana 发表于 2014-7-30 11:28
scanf("%lf",&value);
    total+=value;
    ++count;

这教材作者自己都没有搞清楚输入和缓冲,这例题出的够呛。
7#
发表于 2014-7-30 12:01:31 | 只看该作者
嗨,强哥! 发表于 2014-7-30 11:58
这教材作者自己都没有搞清楚输入和缓冲,这例题出的够呛。

这种问题测试过一次就能发现不对,教程作者水平不行还不负责任
8#
发表于 2014-7-30 12:03:23 | 只看该作者
由于没有看到题目要求,看了半小时才找出毛病,幸好和ros答案一样。
9#
发表于 2014-7-30 12:05:50 | 只看该作者
rosynirvana 发表于 2014-7-30 12:01
这种问题测试过一次就能发现不对,教程作者水平不行还不负责任

对,
我一开始复制,能编译运行,所以就简单的回复了一下。

后来楼主再问,才开始找毛病。后找到2个毛病。呵呵,
10#
 楼主| 发表于 2014-7-30 16:07:04 | 只看该作者
求推荐一本好的教程多谢多谢啦 现在用的版本是清华大学教授翻译的c语言入门经典第四版
11#
发表于 2014-7-30 23:08:51 来自手机 | 只看该作者
小金伙子 发表于 2014-7-30 16:07
求推荐一本好的教程多谢多谢啦 现在用的版本是清华大学教授翻译的c语言入门经典第四版

我个人觉得《C Primer Plus》第五版比较适合一无所知的新手。它细节讲的很翔实。
来自: 微社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表