当前位置: 代码迷 >> C语言 >> long int与int的输出
  详细解决方案

long int与int的输出

热度:2185   发布时间:2006-04-18 14:31:00.0
long int与int的输出
教材中说:一个int型数据可以按照%ld格式输出。但我在tc2.0中运行时,出现的结果却不正确
main()
{int l=123; clrscr();
printf("%ld",l);}
此题中,在tc2.0中输出结果为:51380347。在mytc中输出结果为:269156475。为何得不到正确结果?
搜索更多相关的解决方案: int  long  输出  教材  结果  

----------------解决方案--------------------------------------------------------
以下是引用feitianma在2006-4-18 14:31:00的发言:
main()
{int l=123; clrscr();
printf("%ld", (long)l);}
加个强制类型转换就行了!
----------------解决方案--------------------------------------------------------
有没有不用类型强制转换的方法呢?是否那样写程序是错误的?

----------------解决方案--------------------------------------------------------
那样写是错误的.要知道int变量占2个字节.而long int变量占4个字节.
----------------解决方案--------------------------------------------------------
此言差矣,可以把一个int型数据按照long型格式输出。这是谭浩强第三版教材上的内容。为何不能得到正确结果?
----------------解决方案--------------------------------------------------------

在哪写着的?我怎么没看见?
如果有他意思也是指强制类型转换后输出的吧!!
不可能直接就能输出!
存储方式在那儿那


----------------解决方案--------------------------------------------------------
教材P76页“一个int型数据可以用%d或%ld格式输出”
----------------解决方案--------------------------------------------------------
没有问题.我想可能和编译器有关.但没有必要对这个问题深入研究.你的程序要严谨.定义为long型结果就用"%ld",定义为int型结果就用"%d".
----------------解决方案--------------------------------------------------------
以下是引用lj_860603在2006-4-19 18:48:00的发言:
没有问题.我想可能和编译器有关.但没有必要对这个问题深入研究.你的程序要严谨.定义为long型结果就用"%ld",定义为int型结果就用"%d".

恩,肯定
而且,实际结果是要尊重的


----------------解决方案--------------------------------------------------------
能否说具体些?谢谢!!!!
----------------解决方案--------------------------------------------------------
  相关解决方案