SingingKettle 发表于 2015-5-17 15:29:44

请教一下有关scanf和printf的返回值问题

    小弟最近写了一个C程序用来算分段函数的值,不过当输入非数字时 程序就跑飞了;
想请教一下原因,本人用codeblocks编写win7(64bite)
附上代码:
#include <stdio.h>
double y(double x);

int main()
{
    double input;             //输入X值
    double output;

    while( (printf("Please input the value of x:\n")!=EOF)&&(scanf("%lf",&input)!=EOF))
    {
            output=y(input);
            printf("The answer of the function is:%.3f\n",output);
    }


    return 0;
}

double y(double x)
{
    double gate;
    gate=x;

    if(gate>0)                //the body of the function
      return 2*gate-1;
    else if(gate==0)
      return 0;
    else
      return 3*gate+1;


}



哥斯拉不说话 发表于 2015-5-17 16:25:22

EOF 改成 0 , 就不会飞了。{:9_240:}

SingingKettle 发表于 2015-5-17 16:48:03

哦,谢了!

柯天翔 发表于 2015-5-20 13:46:33

printf函数返回值为空
页: [1]
查看完整版本: 请教一下有关scanf和printf的返回值问题