int a=3,b=2,c=7,d=6;long s;s=a*10000+b*1000+c*100+d*10+c+1;printf('%ld\n',s);运行的结果是-32768long定义的范围很大,算出来是32768,为什么前面有负号?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/25 09:17:22
inta=3,b=2,c=7,d=6;longs;s=a*10000+b*1000+c*100+d*10+c+1;printf(''%ld\n'',s);运行的结果是-32768long定义的范围很大,算

int a=3,b=2,c=7,d=6;long s;s=a*10000+b*1000+c*100+d*10+c+1;printf('%ld\n',s);运行的结果是-32768long定义的范围很大,算出来是32768,为什么前面有负号?
int a=3,b=2,c=7,d=6;long s;s=a*10000+b*1000+c*100+d*10+c+1;printf('%ld\n',s);运行的结果是-32768
long定义的范围很大,算出来是32768,为什么前面有负号?

int a=3,b=2,c=7,d=6;long s;s=a*10000+b*1000+c*100+d*10+c+1;printf('%ld\n',s);运行的结果是-32768long定义的范围很大,算出来是32768,为什么前面有负号?
程序没有问题,但是请把printf(‘%ld\n’,s);改成双号
printf("%ld\n",s);