收藏 VC6学习C语言遇到问题,教程是CPP,新手区高手区人呢?

街角男孩 工程师  2013-01-21 08:53:13
我是新手,这个问题问了几次了,相信很多人都看到过这个贴子,但回复都是几个字,我试了还是不行,再问,高手们都沉默了,谁能帮一下新呢?

1,这个事例是参照书上写的
#include <stdio.h>
int main ( void )
{
unsigned int un = 3000000000 ;
short end = 200;
long big = 65537 ;
long long verybig = 12345678908642 ;//
printf ( " un = %u and not %d \n", un , un );
printf ( " end = %hd and %d \n", end , end );
printf ( " big = %ld and not %hd \n", big , big );
printf ( " verybig = %lld and not %ld \n", verybig , verybig );
return 0 ;
}
编译程序时出现错误提示:
error C2632: 'long' followed by 'long' is illegal
warning C4305: 'initializing' : truncation from 'const __int64' to 'long'
warning C4309: 'initializing' : truncation of constant value


CPP可以TC编译,但我在VC6不行,
...全文
228 20 点赞 打赏 收藏 举报
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sxax 2013-01-23
引用 18 楼 Kevin1993year 的回复:
引用 16 楼 akirya 的回复: 引用 9 楼 skyway16s 的回复:引用 6 楼 akirya 的回复:引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。 谢谢回复,另外TC3是C99以后出来的吗?CPP上的实例……
+10
  • 打赏
  • 举报
回复
Kevin1993year 2013-01-23
引用 16 楼 akirya 的回复:
引用 9 楼 skyway16s 的回复:引用 6 楼 akirya 的回复:引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。 谢谢回复,另外TC3是C99以后出来的吗?CPP上的实例应该都是运行过的……
++
  • 打赏
  • 举报
回复
Kevin1993year 2013-01-23
LZ真是的,为什么一定要和书上的一样,楼上的大牛都说了原因, VC6不支持long long 关键字,(而且VC6Bug好多,建议换个编译器), 书上的也不一定是正确的呀,如果你自信自己写的程序没有问题, 何必要看书上的结果。
  • 打赏
  • 举报
回复
引用 9 楼 skyway16s 的回复:
引用 6 楼 akirya 的回复:引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。 谢谢回复,另外TC3是C99以后出来的吗?CPP上的实例应该都是运行过的,
CPP 是 C++Primer Plus么,这本书一般。 tc3 比C99早多了,tc3 运行结果 和 C++Primer Plus一样的话,只能说这本书也足够古老的说。 换本好书,换个新一些的编译器。
  • 打赏
  • 举报
回复
赵4老师 2013-01-23
引用 13 楼 zhao4zhong1 的回复:
C/C++ code?1234567891011121314151617#include <stdio.h> int main ( void ) { unsigned int un = 3000000000ul ; short end = 200; long big = 65537 ; __int64 verybig = 12345678908642i64 ;// pr……
用事实说话,焦点访谈; 用代码说话,真程序员! 才高八斗比不上胸脯四两, 千言万语比不上代码十行。
  • 打赏
  • 举报
回复
赵4老师 2013-01-23
不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
  • 打赏
  • 举报
回复
ForestDB 2013-01-22
编译器不行不是说改改哪里就行了的 得换编译器本身了 别钻死胡同
  • 打赏
  • 举报
回复
赵4老师 2013-01-22
#include <stdio.h>
 int main ( void )
 {
 unsigned int un = 3000000000ul ;
 short end  = 200;
 long big = 65537 ;
 __int64 verybig = 12345678908642i64 ;//
 printf ( " un = %u and not %d \n", un , un );
 printf ( " end = %hd and %d \n", end , end );
 printf ( " big = %ld and not %hd \n", big , big );
 printf ( " verybig = %I64d and not %ld \n", verybig , verybig );
 return 0 ;
 }
// un = 3000000000 and not -1294967296
// end = 200 and 200
// big = 65537 and not 1
// verybig = 12345678908642 and not 1942899938
  • 打赏
  • 举报
回复
lee_鹿游原 2013-01-21
引用 11 楼 skyway16s 的回复:
引用 10 楼 lile1234_show 的回复:引用 9 楼 skyway16s 的回复:引用 6 楼 akirya 的回复:引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。 谢谢回复,另外TC3……
windows下VS , linux gcc
  • 打赏
  • 举报
回复
街角男孩 2013-01-21
引用 10 楼 lile1234_show 的回复:
引用 9 楼 skyway16s 的回复:引用 6 楼 akirya 的回复:引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。 谢谢回复,另外TC3是C99以后出来的吗?CPP上的实例应该都是运行过的……
新手学C,学习环境(IDE)你有什么建议?
  • 打赏
  • 举报
回复
lee_鹿游原 2013-01-21
引用 9 楼 skyway16s 的回复:
引用 6 楼 akirya 的回复:引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。 谢谢回复,另外TC3是C99以后出来的吗?CPP上的实例应该都是运行过的,
TC还真没用过,不过TC3是C99之前出的。
  • 打赏
  • 举报
回复
街角男孩 2013-01-21
引用 6 楼 akirya 的回复:
引用 3 楼 skyway16s 的回复:引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手 编译器不支持 再牛的人也搞不定啊。
谢谢回复,另外TC3是C99以后出来的吗?CPP上的实例应该都是运行过的,
  • 打赏
  • 举报
回复
街角男孩 2013-01-21
引用 7 楼 lile1234_show 的回复:
C/C++ code?1用__int64 替换吧
替换了,最后一条结果和书上又不一样了, 原结果:verybig = 12345678908642 and not 1942899938 改int64结果verybig = 1942899938 and not 2874
  • 打赏
  • 举报
回复
lee_鹿游原 2013-01-21

用__int64 替换吧
  • 打赏
  • 举报
回复
引用 3 楼 skyway16s 的回复:
引用 2 楼 akirya 的回复:原因就是 VC6不支持long long关键字 怎么改呢?修改哪个地方呢?能列出程序来吗?新手
编译器不支持 再牛的人也搞不定啊。
  • 打赏
  • 举报
回复
AnYidan 2013-01-21
引用 2 楼 akirya 的回复:
原因就是 VC6不支持long long关键字
++
  • 打赏
  • 举报
回复
街角男孩 2013-01-21
引用 1 楼 tmx1991 的回复:
帮你顶下吧。
谢谢!
  • 打赏
  • 举报
回复
街角男孩 2013-01-21
引用 2 楼 akirya 的回复:
原因就是 VC6不支持long long关键字
怎么改呢?修改哪个地方呢?能列出程序来吗?新手
  • 打赏
  • 举报
回复
原因就是 VC6不支持long long关键字
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2013-01-21 08:53
社区公告
暂无公告