问个很弱弱的问题,INT型和LONG型不能相加的吗?

nonkur 2005-09-14 07:40:57
就像这样结果就会出错,把A改成LONG型就好了,为什么?
main()
{
int a;
long b;
a=32767;
b=a+2;
printf("\t%d,%ld\n",a,b);
}
...全文
1152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocai0001 2005-09-14
  • 打赏
  • 举报
回复
楼主的程序是在TC2.0下编译的吧?
稍微修改一下

b=a+2;
改成
b=a+2L;
就可以了
megatops 2005-09-14
  • 打赏
  • 举报
回复
int+long会自动把int转换成long再相加最后得到long.没有问题.
llf_hust 2005-09-14
  • 打赏
  • 举报
回复
#include<stdio.h>

int main()
{
int a;
long b;
a=32767;
b=a+2;
printf("\t%d,%ld\n",a,b);
return 0;
}

编译没有错误呀,
输出32767,32769

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧