管道清理机:2.执行以下程序后,a的值为【 】,b的值为【 】

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 03:43:37
main()
{ int a,b,k=4,m=6, *p1=&k, *p2=&m;
a=p1==&m;
b=(-*p1)/(*p2)+7;
printf(“a=%d\n”,a);
printf(“b=%d\n”,b);
}

a = 0;
b = 7;
解析:
a = p1 == &m;
根据运算符优先级,先运算 p1 == &m,条件为假,返回值为0,a为int型,转换为int即a = 0;
b= (*p1)/(*p2) + 7;
直接按指针目标,就是k/m +7结果是7.66……,b为int类型,转换时舍去小数,结果为7

你想问什么????