题目内容

已定义int a;下面对(1)(2)两个语句的正确解释是 。(1)int *p=&a; (2)*p=a;A.B.C.D.

A. 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值
B. (1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p
C. (1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p
D. (1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给*p

查看答案
更多问题

下面程序的功能是将八进制正整数字符串转换为十进制整数。请选择填空。#include main(){char *p,s[6];int n;gets(p);n=【1】;while(【2】!='\0') n=n*8+*p-'0';printf("%d\n",n);}

A. 【1】0,【2】*p++
B. 【1】*p 【2】*p++
C. 【1】*p-'0' 【2】*(++p)
D. 【1】*p+'0'【2】*(++p)

以下程序的运行结果是。void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%4d,%4d,%4d",a,b,c);}

A. 5, 2, 3
B. -5, -12, -7
C. -5, -12, -17
D. 5, -2, -7

执行以下程序后,a的值为【1】,b的值为【2】。main(){int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1= =&m; b=(-*p1)/(*p2)+7; printf("a=%d,b=%d\n",a,b);}

A. -1 ,5
B. 1 ,6
C. 0 ,7
D. 4 ,7

下面程序欲对两个整型变量的值进行交换,以下正确的说法是。main(){int a=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(&a,&B.;printf("(2)a=%d,b=%d\n",a,b);}swap (int p,int q){int t;t=p;p=q;q=t;}

A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&B.;中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p、q和变量t均定义为指针即可
D. 以上说法都不正确

答案查题题库