搜索
查看: 1874|回复: 5
打印 上一主题 下一主题

输出格式问题

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-8 10:54:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
long a;
a=1234789777;
printf("%d",a);
system("pause");
return 0;
}


话说 我从谭浩强的书上看到说,   long定义的变量 数值超过int的话 就不能用"d"来输出,而输出"ld".
但似乎 我用啊哈c编译后没有出错形象,哪位高人解释一下 谢谢

最佳答案

查看完整内容

不会给error,但会给出warning 在啊哈C的界面下面看不到,在命令行下面用-Wall参数是看得到的 另外1234789777不一定超出int上限,例如我这里的环境的INT_MAX是2147483647
沙发
发表于 2013-4-8 10:54:51 | 只看该作者
不会给error,但会给出warning
在啊哈C的界面下面看不到,在命令行下面用-Wall参数是看得到的

另外1234789777不一定超出int上限,例如我这里的环境的INT_MAX是2147483647
板凳
发表于 2013-4-8 11:21:29 | 只看该作者
这个问题跟C编译系统有关。不同的数据类型在内存中分配的空间不同。
我用的是TCC,short int是2字节,int是4字节(以前的编译系统,例如谭教授书中所采用的TC 2.0,int和short int是一样的),long int也是4字节,long long int则是8字节。
地板
 楼主| 发表于 2013-4-8 11:25:43 | 只看该作者
rosynirvana 发表于 2013-4-8 11:05
不会给error,但会给出warning
在啊哈C的界面下面看不到,在命令行下面用-Wall参数是看得到的

谢谢 大致明白你的意思了。  确实  我这边的环境int的上限与你一样。
5#
 楼主| 发表于 2013-4-8 11:26:52 | 只看该作者
rosynirvana 发表于 2013-4-8 11:05
不会给error,但会给出warning
在啊哈C的界面下面看不到,在命令行下面用-Wall参数是看得到的

这位兄弟,能否介绍一个软件 能够在win7 32位与64位下 良好运行的?。。。
感觉啊哈c 简单归简单,但觉得太过于简洁
6#
发表于 2013-4-8 13:37:07 | 只看该作者
一尾鱼 发表于 2013-4-8 11:26
这位兄弟,能否介绍一个软件 能够在win7 32位与64位下 良好运行的?。。。
感觉啊哈c 简单归简单,但觉 ...

如果要命令行的,那就mingw
http://sourceforge.net/projects/mingw/

要IDE,那就Visual C++ 2010 Express
http://www.microsoft.com/visualstudio/chs/downloads

Code::Blocks之类的和Visual C++ 2010还是有些差距的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表