您的位置:

为什么该c语言老是输出为0,c语言一直输出0

本文目录一览:

这段c语言程序为什么会输出0?

如果后面还有一个int s,你要求输出s。因为你的第一个s已经赋值为0了,第二个s在循环里面,还没有跑完就直接输出了,这时候输出的是第一个s,当然是0了。至于去掉int后,s指向于刚开始你定义的int s,经过循环运算后,s就被赋值为30了。

c语言这个程序的输出为什么一直是0?

没仔细看,你首先你要知道的在C里两个整数相除的结果还是整数,所以象1/2结果就是0而不是你以为的0.5,需要写成比如1.0/2或者(double)1/2或者1/2.0

C语言编程设计过程中输出结果总为0,这是为什么?

x是double,要用%lf输入,而不是ld

#includestdio.h

#includemath.h

int main (void)

{

    double x,y;

    printf ("Enter x:");

    scanf ("%lf",x);//%lf

    if (x0){

        y=pow(x,5)+2*x+1/x;

    }

    else {

        y=sqrt(x);

    } 

    printf ("y=%lf\n",y);

    return 0;

}

C语言为什么结果是0

虽然题主定义了求周长的函数,但是没有在main函数里面调用,所以实际上也就没有执行求圆周长的代码。输出的变量C实际上是没有初始化的。在打印变量C之前调用C=zhouchang(r);即可。另外就是,调用子函数之前应该需要声明

为什么该C语言老是输出为0?

scanf("%lf,%d,%lf", rate, year, capital);

你的代码里输入格式是%lf,%d,%lf,中间有逗号,所以输入的时候也要有逗号

估计你输入的时候没加逗号(注意是西文逗号),而是用空格分隔的,要不加逗号用空格分隔的话,就把%lf,%d,%lf中间的逗号去掉,这样就可以用空格分隔输入了

我试着运行了下:

年化15%,5年翻倍,没错

C语言 帮我看一下这个程序为什么结果总是输出0

你要求的是2^1+2^2+2^3+。。。+2^16。前面2的几次方的时候值比较小,int类型的term还能装的下;后面的数越来越大,不仅超出了int类型的term最大长度,还超出了long类型的sum的最大长度。因此输出的是无符号long类型的最小值0。

解决办法是:把term和sum设为double类型,后面用浮点类型格式(长度满足要求)输出(“%f",sum)。