免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: sxsfdx
打印 上一主题 下一主题

[C] C语言中的long型定义(在线等) [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
11 [报告]
发表于 2005-09-16 10:32 |只看该作者

C语言中的long型定义(在线等)

如果你的数字没有负数.那么用unsigned long 足够了.

论坛徽章:
0
12 [报告]
发表于 2005-09-16 10:45 |只看该作者

C语言中的long型定义(在线等)

程序改为如下就好用了,TurboC下调试通过。
│main()
│{int a;
│long b;  
│a=32767;
│b=(long)a+1;
│printf("\n%d,%ld",a,b);
│}

输出:32767,32768
可能是TC编译器在语义构造上问题。写成显示类型转换就好用了,而隐式的就不起作用。

论坛徽章:
0
13 [报告]
发表于 2005-09-16 10:49 |只看该作者

C语言中的long型定义(在线等)

我问一下,是不是任务管理器中的“进程”中的“system Idle process"
中的”内存使用就是真正的内存未被使用内存呢?盼回答。谢谢。

论坛徽章:
0
14 [报告]
发表于 2005-09-16 10:54 |只看该作者

C语言中的long型定义(在线等)

谢谢dozec,很好,可是我想知道为什么会是这样子,难道只有把a也定义为long型么?
谢谢mq100,我也使用过了,好像也不行的。谢谢你的回复。

论坛徽章:
0
15 [报告]
发表于 2005-09-16 10:58 |只看该作者

C语言中的long型定义(在线等)

我把a,b都定义为long,怎么还是不出正确结果。

论坛徽章:
0
16 [报告]
发表于 2005-09-16 11:03 |只看该作者

C语言中的long型定义(在线等)

全错!
编译器是先计算a+1后给b赋值,所以……
改成b=a;b++;就没事了。
或者b=(long)a+1;也行。

论坛徽章:
0
17 [报告]
发表于 2005-09-16 11:04 |只看该作者

C语言中的long型定义(在线等)

main()

{
printf(“%ld",500*500);
}
不能正确输出,错误在哪呢?谢谢。

论坛徽章:
0
18 [报告]
发表于 2005-09-16 11:07 |只看该作者

C语言中的long型定义(在线等)

FH你提示了我C的编译方式,谢谢你。

论坛徽章:
0
19 [报告]
发表于 2005-09-16 11:09 |只看该作者

C语言中的long型定义(在线等)

FH不是已经说了?注意运算时的数据类型
500L*500

论坛徽章:
0
20 [报告]
发表于 2005-09-16 11:13 |只看该作者

C语言中的long型定义(在线等)

原帖由 "FH" 发表:
全错!
编译器是先计算a+1后给b赋值,所以……
改成b=a;b++;就没事了。
或者b=(long)a+1;也行。

main()
{printf("%ld".500*500);
}
为什么也不可以呢?
你的然后……这是什么意思,望明白告知,谢谢你:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP