06年4月等级考试二级C语言考前密卷2(三)
发布时间:2006-07-25 12:10
点击:
(29)下面程序
int aa[3][3]:{{2},{4},{6}};
main()
{ int i,*p:&aa[0][0];
for(I=0;i<2;i++){
if(i==0)aa[I][i+l]=*p+1;
else++p;
printf("%d’.,。p);
}
}
的输出是__________。
A)23 B)26
C)33 D)36
答案:A
评析:观察题目,可以发现,*p=&aa[01[o]语句实际是将数组aa的首地址赋给了指针变量p,将i的值带入for循环中,i=0时,aa[0][1]=3,+p=2;*p输出的是指针所指向的数组值,此时p所指向的是aa[O][O],输出2,而i=l时执行了++p操作使指针向后移动指向了aa[O儿1],所以在输出*p时应为3。
(30)以下程序的输出结果是_________。
#include<stdio.h>
#include<string.h>
fun(char*w,int n)
{
char t,*s1,*s2;
s1=w;s2=w+n-l:
while(s1<s2)
{
t=*s1++:
*sl=*s2--;
*s2=t;
}
}
main()
{
char*p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
A)1234567 B)7654321
C)1711717 D)717717l
答案:C
评析:在子函数fun中,sl为字符串w的起始地址,s2为字符串的结束地址(字符’\O’除外),当执行循环结束循环,w="1711717"。
(31)下面程序
main()
{ int x=100,a=10,b=20,okl=5,ok2=0;
if(a<b)
if(b!=15)
if(10k1) x=l;
else i"oL2)x。10;
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
|
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
|