问题 单项选择题

执行以下程序后,a,b的值分别是( )。
#include <stdio.h>
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) -1,5
B) 1,6
C) 0,7
D) 4,10

答案

参考答案:C

解析: a=p1==&m;等价于a=(P1==&m);将p1是否等于m的地址的逻辑值(0)赋给变量a;在b=(*p1)/(*p2)+7;语句中,(*P1)/(*p2)=0,因此将表达式的值7赋给变量b。

填空题
单项选择题