为什么在C语言中,这个printf的输出是错误的?
发布网友
发布时间:2022-04-25 02:00
我来回答
共2个回答
热心网友
时间:2022-05-10 19:03
你这并不是强制类型转换,printf是个变参函数,而且比较“笨”,它只能识别你给他设定好的输出类型,因为你设定为%d,所以只能输出出错,5/2是结果是整数,而5.0/2是浮点数运算,结果为浮点数,所以类型不匹配。 谢谢,望采纳追问
那假如连续几个输出中,第二个输出出错,会对第三个输出有影响?如下图
追答会影响的,你一个类型错,后面的全都有影响,
所以要加强对printf和scanf函数的掌握,前期可能感觉很不习惯,用久了就会发现这两个函数的好处了
热心网友
时间:2022-05-10 20:21
你这样做5.0/2.0和之后的i=...都没有进行强转
强转得通过变量进行
int i = 5.0/2.0 ;
printf("%d", i );
答案是2
为什么在C语言中,这个printf的输出是错误的?
你这并不是强制类型转换,printf是个变参函数,而且比较“笨”,它只能识别你给他设定好的输出类型,因为你设定为%d,所以只能输出出错,5/2是结果是整数,而5.0/2是浮点数运算,结果为浮点数,所以类型不匹配。 谢谢,望采纳
vlookup 的用法
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配(FALSE)或近似匹配(TRUE),前者要求完全匹配,后者则返回最接近且不大于查找值的项。VLOOKUP能够精确查找与大致匹配数据,并跨列提取相关信息,是数据处理中非常实用的工具。Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击4步自动完成vlookup匹配,无需手写公式,免费使用!
C语言为什么输出结果不对啊?
printf("%d ", &n)输出的是n的地址不是值,把&去掉,改成 printf("%d ",n);
C语言中,用printf输出一个无符号变量的内容时,输出结果一定是正数?
这句话错了。错的原因:无符号数除了包含正数之外,还包括0。而0并不是正数。所以,当输出0时,就证明这个说法是错误的了。
printf不能输出什么原因?
编译器问题:在某些编译器中,printf 函数的实现可能与标准 C 语言规范不符。在这种情况下,%f格式控制符可能无法输出正确的结果。解决方法是使用其他编译器或者尝试使用其他 printf 函数实现。如果遇到了%f格式控制符不能输出的问题,可以尝试检查变量类型是否正确,是否需要强制转换为浮点数类型,以及浮点数...
C语言:printf("\1234");运行时为什么报错?
编译系统认为\1234是8进制表示的ASCII码,但是\后面最多应该只有3个8进制数码。
printf输出问题
这两个语句是不同的。因为int是整型只占2个字节=16位。而double是双精度不同的编辑器虽然有点不同。但是他一般都比int多几十位数。虽然你输入的是 double i=3.13, j=4.12;但是在内存中是比int长几倍的就像是要将一个只能容纳10个物体的东西里放100个同样的东西。可定会出错。在C语言中 你...
c语言,我打圈的那个printf为什么输出结果是123.456001?001是什 ...
float在c语言中表示浮点数,其数据的精度默认为小数点后8位,计算机在计算过程中会可能产生误差。不过从最终的计算方式来讲,其误差一般不会对最终的计算结果产生影响。2. 楼主如果在输出时不想看到后面的误差值,当然误差不一定总有哦,可以使用格式控制符%f控制显示小数点后的位数。
为什么有时候printf无法显示输出?
你可能从来没听过,printf输出,居然还有条件,这是在《C prime Plus 第五版》中学习到的,当时的我也同样惊讶。直到前不久,同窗的学妹同样表示了惊讶,所以我决定分享这个小知识,printf在满足以下三个条件之一时,会将缓冲区中的数据输出:或 或 其中1、3情况,是我们在绝大多数时候会使用的,因此...
C语言中,printf("%s.%s", s1,s2); 这样写,为什么输出在屏幕上·变成了...
可能字符串中有这个符号,或者是没有在结尾加"\0"
C语言printf("%%d",3.14); 输出为什么不是3?而是%d
是这样的,在printf函数当中,从左到右检查遇到了‘%’就相当于类似转义的功能,后边会检查诸如's','d','c'这样的字符。这个时候发现是后边是一个'%',就直接转义后边的'%'结果还是一个'%',但是后边的一个'%'已经被前边的'%'转义成了一个字符的意义,所以这个时候后边的d也就成了一个字符了...