啊哈磊_编程从这里起步

标题: 输出格式问题 [打印本页]

作者: 一尾鱼    时间: 2013-4-8 10:54
标题: 输出格式问题
#include <stdio.h>
#include <stdlib.h>
int main()
{
long a;
a=1234789777;
printf("%d",a);
system("pause");
return 0;
}


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

作者: rosynirvana    时间: 2013-4-8 10:54
不会给error,但会给出warning
在啊哈C的界面下面看不到,在命令行下面用-Wall参数是看得到的

另外1234789777不一定超出int上限,例如我这里的环境的INT_MAX是2147483647
作者: Smallbee    时间: 2013-4-8 11:21
这个问题跟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
rosynirvana 发表于 2013-4-8 11:05
不会给error,但会给出warning
在啊哈C的界面下面看不到,在命令行下面用-Wall参数是看得到的

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

这位兄弟,能否介绍一个软件 能够在win7 32位与64位下 良好运行的?。。。
感觉啊哈c 简单归简单,但觉得太过于简洁
作者: rosynirvana    时间: 2013-4-8 13:37
一尾鱼 发表于 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还是有些差距的




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2