[原创][讨论]关于输出怪题:有值变无值………之新问题?(ok)
以下内容引用一朋友的问题: 各位高手,本人有一道c语言的题目向大家请教: main() {double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %d %f %f\n",i,l,f,d); } 本人经过调试,答案是6 6 0.000000 0.000000 我不是那么明白f和d为什么是0.000000,而i和l确有值.? 谢谢!!
有朋友指出错误在于 printf("%d %d %f %f\n",i,l,f,d); 应改为printf("%d %ld %f %f\n",i,l,f,d); 不错,改正后完全正确!
我现在的问题是:为什么 %ld 会影响后面的 %f %f 呢? 我将他输出顺序改一下 printf("%d %f %f %d\n",i,f,d,l); 输出为什么也是对的? 麻烦各位给看一下,谢谢! 谢谢各位的帮助!
[此贴子已经被作者于2005-3-28 20:20:29编辑过]