这个C语言代码哪里错了?为什么无论输入什么输出都是0?

如题所述

第1个回答  2014-11-04
要用强制类型转换

void main()
{
int a, b;
scanf("%d", &a);
if (a < 60000)
{
b = (int)((double)a*0.1);
printf("%d\n", b);
}
.
.
.
.
.
.
.

}追问

为什么呢?

追答

编译器的类型转换有问题,运算优先级实现的不是很好和标准C的有差别

本回答被提问者采纳

这个代码错误在哪?不论输入何值,输出的小数全是0
a==b所以a\/b没有小数 k++; } printf("s=%f\\n",s); return 0;}

C语言, 为啥输出的结果一直是0啊 哪里错了啊
一、因为数据类型都是float,所以输入输出都应该是%f scanf_s("%f, %f", &a, &b);scanf_s("%f, %f", &c, &d);二、输入格式中要求每一组数据要用逗号(英文)分隔,如下:12,34 56,23 这样才可以 三、输出保留两位小数是:点2f不是2f printf(" Labor cost for the boy is %.2f do...

我的c语言为什么总是输出0.00?
亲,这是你的C语言程序代码写错了。输出了错误的内容。如果你把需要完成的任务和你的代码粘贴到这里来,我可以帮助你分析错误所在。

c语言,这个哪里错了,为什么输任何数据都显示#ND00
} else { if (c == 0) printf("x=0"); elseprintf("x=%f",-c\/b); } } else { if (b == 0) { if (c == 0)printf("x=0"); elseprintf("x1=%lf,x2=%lf",sqrt(

刚学c语言,这个输出值为什么是0?
scanf语句错误,应该改为:scanf(“%f%f%f”,&v,&n,&m)才能让系统读入值,否则的话,v,n,,m的值都是零,所以最后总和也为0.你可以用一下下面的代码。include<stdio.h> include<math.h> int main(){ float v, n, m;float a = 3.5;float b = 3.5;float c = 3.5;scanf("%f...

C语言代码,为什么最后无论输入什么输出均为0?
{ int cal(int x,char y,int z);int c[10],s[10],a,n;char b[10];scanf("%d%c%d%*c",&a,&b[0],&c[0]); \/\/最后的%*c用来丢弃最后的回车符 s[0]=cal(a,b[0],c[0]);for(n=1; n<10; n++){ scanf("%c%d%*c",&b[n],&c[n]); \/\/最后的%*c用来...

c语言求周长和体积之类的,我不知道哪里错了 答案始终为零 大佬求解谢谢...
1、当你用scanf("%f,%f"中间有逗号的情况下读入数据的时候,记得你输入的时候,数字中间一定要是英文的逗号,而不是中文逗号 2、两整数相除的结果还是整数,比如说4\/3结果就是1,而不是你想要的1.3333,如果想得到后一结果,可以写成4.0\/3 3、你的计算要在scanf之后完成,你程序中的计算时,r和...

c语言运行程序为什么没有输出数?
C语言运行程序为什么没有输出数字,产生的原原因如下:1、输入的格式不对 要输入“浮点数”并用 “逗号” 分隔输入三个数两个逗号后还要额外多加一回车才开始后面的流程,如果把 scanf("%f,%f,%f\\n",&a,&b,&c);改为 scanf("%f%f%f",&a,&b,&c);就可以用空白符做分隔了。2、没有输出 不...

c语言为啥输出老是0?
&year, &capital);你的代码里输入格式是%lf,%d,%lf,中间有逗号,所以输入的时候也要有逗号 估计你输入的时候没加逗号(注意是西文逗号),而是用空格分隔的,要不加逗号用空格分隔的话,就把%lf,%d,%lf中间的逗号去掉,这样就可以用空格分隔输入了 我试着运行了下:年化15%,5年翻倍,没错 ...

(C语言)这个程序想求输入的所有正整数的平均值,为什么一直输出0呢...
您好,很高兴回答您的问题。您这个题目是要求取正整数的和的平均值,定义的整数是整型类型,存放和的变量也是整数类型,,整数值的个数也是整型,但是输出的是平均数,肯定是带有小数的,所以输出的printf函数为printf("%f",1.0*sm\/cnt);这样才能保证输出的平均值为实际结果。

相似回答