当前位置:首页 » 编程语言 » 如果c语言输出为0是什么情况
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如果c语言输出为0是什么情况

发布时间: 2022-04-25 05:19:48

㈠ 初学c语言,帮我看看这个输出结果为什么是0

1、因为你刚开始定义a,b是int类型的,整形的。
2、所以在a进行计算的时候会将12+12.4这个算式(a=12+12.4)计算成24,计算机自动将a语句的结构保存成整数型。
3、在你将b的值赋值为浮点型的a(b=(float)a;)时,结果其实应该是24.00。
4、但是由于你并未给b改变类型,所以他还是一个整形,在你结尾时引用lf浮点型的输出方式进行输出时,计算机识别不出来,所以结果为零。
希望可以帮到你,如果还有什么问题可以在下边留言。

㈡ C语言中编译正确,但是运行结果显示全是0,怎么回事啊

a=1/2×b×n,这个表达式是有问题的,1÷2求商的话,他永远等于零,所以你的结果不管输入什么都是为零的。

㈢ c语言为什么输出是0啊

b是double类型,需要以%lf输入。
以%d输入, 实际会写入double的高字节。
导致出错,无论输入什么, 实际b值为0

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

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

#include<stdio.h>
#include<math.h>
intmain(void)
{
doublex,y;
printf("Enterx:");
scanf("%lf",&x);//%lf
if(x<0){
y=pow(x,5)+2*x+1/x;
}
else{
y=sqrt(x);
}
printf("y=%lf ",y);
return0;
}

㈤ C语言输入的分数为什么输出是0

应该是字符类型的问题,
如果用变量储存,应该用float或者double型储存,你应该用的int或者long存的吧
如果直接写分数,应该把其中一个数写成小数,比如1/2
写成
1.0/2
或者
1/2.0
,这样是精确到1位有效数字,如果是1.00/2就是2位,依次类推

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

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

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

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

我试着运行了下:

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

㈦ C语言程序输出结果一直是0,怎么办

你的fun里的形参a是个int类型,你写a=1.0/a,相当于把1.0/a的结果又强制转换成了int,因为你的a肯定比1大,所以结果当然还是0,建议把a=1.0/a改成return 1.0/a,a=0改为return 0

㈧ 以下c语言 程序应该是对的,为什么输出结果是0呢

C语言中表示b小于a且大于c不能写成a>b>c。要写b<a && b>c。

按照你的写法a>b>c相当于(a>b)>c,先看a>b得到1,再看1>c得到0。所以d是0。

㈨ C语言问题:为什么输出结果是0

int x=0.5,x的值是向下取整的0
0&&1得0,0&&任何数得0,不再计算后项表达式的值,称为&&的短路运算。
因此表达式(x&&1)&&(z<'z')的值是0。

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

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