一个自学C语言的初学者的问题

发布网友 发布时间:2022-03-01 16:20

我来回答

3个回答

热心网友 时间:2022-03-01 17:50

%f用于显示实型数据,如上面的float型,整型和实型在计算机中都有表示范围的,float型表示范围是10的-37次方到10的38次方,%d用于显示整型数据,如int型,它在计算机中的表示范围是-32768-32767。在输出时,将%f改成%d,系统就会按整型输出,术语叫做自动转换,如果float数据的大小在int范围内,系统就会将这个数后面的小数舍弃,直接输出它的整数,如果超出了int的范围,会发生数据溢出,系统不会检查这个数是否溢出,它输出的将是一个随机数。上面的float型明显已超出了int型的范围,所以编译系统输出的是一个随机数0.

热心网友 时间:2022-03-01 19:08

我想说明的是:int型数值范围可能有不同,在turbo c++/c中,范围是-32768~32767,而在visual c/c++和dev c++(竞赛专用编译环境)中范围是-21474838-21474837(即long范围),如果您采用turbo编译系统,便可能出现上述情况,因float范围是-3.4*(10的-38次方)~3.4*(10的38次方),%f用来输出浮点型(仅限float)数据,%d用于输出整型数据,当用它输出浮点型数据时,将截取整数部分输出,若超出范围,则给出随机值。

热心网友 时间:2022-03-01 20:42

你就说吧,提问者,人家回答这么的详细,你怎么没反映啊,不尊重别人的劳动成果.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com