int a=-2; printf("%u",a);输出为:65534.为什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 02:45:12
int a=-2; printf("%u",a);输出为:65534.为什么?
int a=-2; printf("%u",a);输出为:65534.为什么?
int a=-2; printf("%u",a);输出为:65534.为什么?
%u为以无符号十进制输出.无符号整数能表示的数范围是0-65535,即对应的二进制数0-1111111111111111(16个1).
int a=-2;a为有符号的整型,以1111111111111111(16个1)的二进制数存储.(-2二进制表示为10000000000000010,负数在计算机中用补码表示,即1111111111111110).如果用%d输出a,则为-2,但是转换成无符号整数%u输出,1111111111111110(原来的有符号整数-1)被解释成1111111111111110(无符号整数65534),输出结果为65534
int a=-2; printf(%u,a);输出为:65534.为什么?
void fun(int p) { int d=2; p=d++; printf(%d,p); } main() { int a=1; fun(a); printf(%d
,a); }
#include void fun(int p) { int d=2; p=d++; printf(“%d”,p);} main() { int a=1; fun(a); printf(“%d
-1用8进制和16进制表示是什么,怎么算的,main(){unsigned int a = 65535;int b =-2;printf(”a = %d,%o,%x,%u
”,a,a,a,a);printf(”b = %d,%o,%x,%u
”,b,b,b,b);}运行结果为:a =-1,177777,ffff,65535b =-2,177776,fffe,65534
一个C程序的理解 麻烦给我解释下语句的意思#includemain(){unsigned int a=65535;int b=-2;printf(a=%d,%o,%x,%u
,a,a,a,a);printf(b=%d,%o,%x,%u
,b,b,b,b);}
若int 类型占两个字节,则下列程序段的输出是()int =-1;printf(%d,%u
,a a);
若int 类型占两个字节,则下列程序段的输出是()int =-1;printf(%d,%u,a a);
{ int a[]={1,2,3,4,5,6}; int*p; p=a; printf(%d
,*p); printf(%d
,*(++p)); printf(%d
,*++p);{ int a[]={1,2,3,4,5,6};int*p;p=a;printf(%d
,*p);printf(%d
,*(++p));printf(%d
,*++p);printf(%d
,*(p--));P+=3;printf(%d%d,*p,*(a+3));}求
#includestdio.hmain(){int a=-1 printf(%d,%u,%o,%x
,a,a,a,a);}结果怎么算出来的告诉一下
下面这个程序看不懂,#include stdio.hint main(){ int a,c; for(;scanf(%1d,&a),a>0;printf(%d
,--a%9u+1)) while((c=getchar())-48u
main() {int a[6],i; for(i=1;i3))%5; printf(%2d,a[i]);} }
一个关于C语言指针的问题,源程序:#include intmain(){int a[5]={1,2,3,4,5};int *ptr1=(int *)(&a+1);int *ptr2=(int *)((int)a+1);printf(%x,%x,ptr1[-1],*ptr2);return 0;}
int a=1; int b=0; printf(%d,b=a+b); printf(%d,a=a*b);
Int a=1; Int *p; p=&a; printf(“%d
”,*p); 和Int a=1; Int*p; *p=a; printf(“%d
”,*p); ::::
请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf(%d
,a);结果为3.
int a=10;f1(){int a=20;printf(%d,a);}f2(){printf(%d,a);}main ( ){int a=30;f1();f2(); printf(a)int a=10;f1(){int a=20;printf(%d,a);}f2(){printf(%d,a);}main ( ){int a=30;f1();f2();printf(%d,a);}答案是 20 10 30求解答.
main() { int a=2;a%=4-1; printf(\n%d,,a); a+=a*=a-=a*=3; printf(%d,a); }
我的式子错在哪?#include#include#include int main(void) { char ch; printf(A新增
); printf(D删除
); printf(U修改
); printf(Q离开
); printf(请选择功能选项); ch = getchar(); ch = toupper(ch); switch(ch) { case'A':