下面程序的输出结果是()char str[]="ABC",*p=str;printf("%d\n",*(p+3));
A. 67
B. 0
C. 字符'C'的地址
D. 字符'C'
若已定义int a=5;,则对语句(1)int *p=&a;和语句(2)*p=a;的正确解释是()
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
下面程序应能对两个整型变量的值进行交换,以下正确的说法是()void 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. 以上说法都不正确
下面判断正确的是()
A. char *s="girl";等价于 char *s; *s="girl";
B. char s[10]={"girl"}; 等价于 char s[10];s[10]={"girl"};
C. char *s="girl";等价于 char *s;s="girl";
D. char s[4]="boy",t[4]="boy";等价于char s[4]=t[4]="boy";