----------------解决方案--------------------------------------------------------
是LD不是1D
----------------解决方案--------------------------------------------------------
a,c都要为long才可以
这个不用吧,会自动转换的
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
long int a,b,c;
a=32767;
b=1;
c=a+b;
printf("%ld\n",c);
}
----------------解决方案--------------------------------------------------------
main()
{
long int a;
a=32768;
printf("%d",a); 或者 printf("%1d",a);
}
运行都是 -32768
汗!!!
----------------解决方案--------------------------------------------------------
这个看具体编译器,有些编译器支持这些。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
long int a,b,c;
a=32767;
b=1;
c=a+b;
printf("%ld",c);
}
是LD 哦。。。晕。。
----------------解决方案--------------------------------------------------------
说了是LD不是1D,你那个写的是1D
----------------解决方案--------------------------------------------------------
对了 谢谢 是LD 我想问一下 LD是什么意思?
----------------解决方案--------------------------------------------------------
main()
{
long int a;
a=32768;
printf("%d",a); 或者 printf("%1d",a);
}
运行都是 -32768
汗!!!
这个是符号位扩展的原因,你可以用unsigned long a;就没问题了
----------------解决方案--------------------------------------------------------