以下程序的运行结果是___________。voidsub(intx,inty,int*z){*z=y-x;}intmain(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);return0;}
A. 5,2,3
B. -5,-12,-7
C. -5,-12,-17
D. 5,-2,-7
查看答案
执行以下程序后,b的值为__________。int main(){int b,k=4,m=6,*p1=&k,*p2=&m;b=(-*p1)/(*p2)+7;printf("%d\n",b);reurn 0;}
A. 5
B. 6
C. 7
D. 10
下面程序应能对两个整型变量的值进行交换。以下正确的说法是__________。intmain(){inta=10,b=20;printf("%d,%d",a,b);swap(&a,&b);printf("%d,%d",a,b);return0;}voidswap(intp,intq){intt;t=p;p=q;q=t;}
A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D. 以下说法都不正确
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是________。int main(){int *p,*q,a,b;p=&a;scanf("%d",*p);........;return 0;}
A. *p表示的是指针变量p的地址
B. *p表示的是变量a的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量
有如下语句 int a=10,b=20,*p1,*p2; p1=&a; p2=&b; 若要让p1也指向b,可选用的赋值语句是_______。
A. *p1=*p2;
B. p1=p2;
C. p1=*p2;
D. *p1=p2;