博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【求助】:关于printf打印信息错误的问题
阅读量:5144 次
发布时间:2019-06-13

本文共 1055 字,大约阅读时间需要 3 分钟。

  今天在看一个题目时,本来是想测试用递归方式计算斐波拉西数列第N项值的耗时。结果出现了意想不到的问题~

  废话不多说,直接上代码:

1 #include 
2 #include
3 4 long long Fibonacci(unsigned int n) 5 { 6 if(n<=0) 7 return 0; 8 if(n==1) 9 return 1;10 return Fibonacci(n-1)+Fibonacci(n-2);11 }12 13 int main()14 {15 16 clock_t t1,t2;17 unsigned int num;18 long long result = 0;19 scanf("%d",&num);20 t1 = clock();21 result = Fibonacci(num);22 t2 = clock();23 double duration;24 duration = (double)(t2-t1)/CLOCKS_PER_SEC;25 26 //printf("%d,%f",result,duration);27 printf("%d\n",result);28 printf("%f",duration);29 30 return 0;31 }

 

  请注意第26行,我输入30,如果用第26行输出结果,则输出结果如下,显然结果是错误的:

  

  但如果分成两句写,再输入30,用27、28行输出,则输出就对了~ 如下:

  

  我是在Microsoft的WIN7 && VS2010 ultimate下编译执行的,计算结果是对的,duration两次值都是一样的,只不过打印结果不对。按我自己理解printf不应该跟打印的变量数有关吧,不知道到底是什么原因,有人说用一行打印可能是printf的某种状态更改了,跟VS2010自身有关,所以特意发到博客园请大家看看这是什么原因,希望有大家帮忙解答!或者知道与什么有关,请留言交流,相互学习下~谢谢~:-)

 

 

转载于:https://www.cnblogs.com/XiaoHDeBlog/archive/2013/03/21/2974277.html

你可能感兴趣的文章
图片标签img
查看>>
JavaScript语言中文参考手册.chm
查看>>
表哥的Access入门++以Excel视角快速学习数据库知识pdf
查看>>
TC 配置插件
查看>>
关于异步reset
查看>>
索引优先队列的工作原理与简易实现
查看>>
并发编程简介
查看>>
基于K-近邻分类算法的手写识别系统
查看>>
使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
查看>>
PC站跳转M站的方法
查看>>
wow 各职业体验(pvp)
查看>>
Streaming的receiver模式
查看>>
[转载]一个人的失败,99%失败于“脾气”
查看>>
【Nowcoder】玩游戏
查看>>
过滤器(Filter)
查看>>
字符串的操作
查看>>
性能优化之Java(Android)代码优化
查看>>
springMVC相关—文件上传
查看>>
由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想
查看>>
uva 1416 Warfare And Logistics
查看>>