#include<stdio.h>void main(){int a,b;a=32767;b=a+1;printf("%d,%d\n",a,b);}这个书上的例子,这样算的结果是3767,-32768 说是将变量b改成long型就可以得到预期结果32768.我该怎么做呢?是在哪里加上long?我试了几个地方都不行,望高人指点迷津!!我的是TC3.0
2 回答
冉冉说
TA贡献1877条经验 获得超1个赞
要输出long类型,还要将printf的格式说明符改一下,将第二个%d改为%ld表示为long int类型
#include<stdio.h>
int main()
{
int a,b;
a=32767;
b=a+1;
printf("%d,%ld\n",a,(long)(a+1));
return 0;
}
这样不知道行不行,我这没有TC:
#include<stdio.h>
int main()
{
int a,b;
a=32767;
b=a+1;
printf("%d,%ld\n",a,(long)b);/*输出的第二项为强制转换类型函数的返回值*/
return 0;
}
子衿沉夜
TA贡献1828条经验 获得超3个赞
#include<stdio.h>
int main(void)
{
int a;
long b;
a=32767;
b=(long)a+1;
printf("%d,%d\n",a,b);
}
- 2 回答
- 0 关注
- 175 浏览
添加回答
举报
0/150
提交
取消