includestdioh void main() { float b = 1231234567; prtf(b = %

发布日期:2019-09-09 19:53   来源:未知   阅读:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部首先:printf是不能判断后面参数是否正确的,它总假定你在格式控制符内的指定的格式是正好和后面参数是匹配的。如果不匹配,其行为将非常诡异

  %lf对应double,除了你给的4字节浮点数外,它还额外从下一个参数里“借”了4字节。之所以值没变,很可能两个4字节拼起来的值相差不多,同福心水论坛50488,你需要分析IEEE浮点数格式定义来自我验算才能得到答案

  %5.4lf实际上已经开始从第13个字节开始拿数据,也就是你第四个b处开始读了

  至于最后一个9,根本就不是从你那几个b那边读数据,到底是几,完全就不可控了

Copyright © 2002-2011 DEDECMS. 织梦科技 版权所有 Power by DedeCms