很正常。经常出现在double四舍五入到整数的时候。如果你把一个double的数强行用%.0lf输出,并且这个数在-0.4999...到0之间结果就是-0。要解决也简单,输出前判断是不是-0.499999...到0之间,如果是就输出个0,不是就正常输出
输出的“-0”怎么去..-0 是精度误差造成的PI = 3.14159265358979;#include<stdio.h>#include <math.h>int main(){ double PI
printf("-0");
x2,delta; scanf ("%lf%lf%lf",&a,&b,&c); delta = b*b-4*a*c;if(delta >= 0.0) {x1 = (-b + sqrt(delta))/(2*a); x2 = (-b - sqrt(delta))/(2*a); printf ("x1 = %.2lf\n",x1);printf ("x2 = %.2lf\n",...
小白求助,关于强制输..如图一,将八进制数据字符串转化为十进制整数。在子函数for循环里有一个-'0',CSDN上解释是为了强制输出实型数据,看不懂😖,有人能解释一下吗?如图二是正确的,但是删去-'0'就会成图三。
[1]这也是为什么程序总是会输出面积为 0 的结果。[2]实际上 bug 的表现会随平台不同而有所变化,...
在float看来就是:0xA4828440=0b1010 0100 1000 0010 1000 0100 0100 0000 根据float型数据的存储规则,你的数据转换成十进制数就是:1)计算正负号:首位是“1”,所以是负数;2)计算偏移量:原二进制数接下来8位是:0b01001001=73,73-127=-54,负号表示存储时小数点被右移了54位 3)计算...
}else{while(i >0) {if(i %2) putchar('-');elseputchar('+'); i--; } putchar('\n'); } }return0; } 2、while语句 #include <stdio.h>intmain(void) {inti, j; puts("please input an integer."); printf("i ="); scanf("%d", &i);if(i %2) ...
在C语言中,`%010d`是格式化输出控制字符串的一种形式,它包含以下部分:- `%`:格式化控制符的起始标志 - `0`:表示在输出字段宽度不足时使用0来填充左边的空白位置 - `10`:表示输出的字段宽度为10个字符(包括符号、数字和填充字符)- `d`:表示要输出一个十进制整数 因此,当我们使用`...
printf那个,输出遇‘\0’怎么说 风皓辰 超能力者 9 字符数组以\0结束 光影 团子家族 10 字符数组以\0结束,当然,你输入时不加也行,编译器会在末尾自动加上一个 侨于江渚之上 异能力者 6 字符串的末尾都有一个“\0”,遇到它表示已经输出了最后一个字符了,所以结束 贴吧用户_09KAGVG 便当 3 就...