1.单选题
1.若有说明:int a[10];,则对数组元素的正确引用是()。
正确答案: D 你的答案: 空 (错误)
a[10];
a[3.5]
a(5)
a[10-10]
【解释】因为定义的数组包含10个元素,对数组元素引用的下标是从0~9。显然a[10]
超出了数组的范围,A是错误的引用。因数组下标的数据类型必须是整型,所以B是错误
的。数组引用应使用中括号,小括号是非法的,所以C也是错误的。故正确答案是D,即
引用a[0]。
2.有以下C语言程序
#include <stdio.h>
int fun(int x[], int k)
{ if(k==0) return (x[0]);
return x[0]+fun(x+1, k-1);
}
int main()
{ int x[ ]={1,2,3,4,5};
printf("%d\n", fun(x,3));
}
程序运行后的输出结果是 10
解释:
fun(x,3)
=x[0]+fun(x+1,2)
=x[0]+x[1]+fun(x+2,1)
=x[0]+x[1]+x[2]+fun(x+3,0)
=x[0]+x[1]+x[2]+x[3]
=10
子函数新定义了一个数组,分别把数组的下一位作为这个新的数组的头地址。
3.
int FindSubString( char* pch )
{
int count = 0;
char * p1 = pch;
while ( *p1 != '\0' )
{
if ( *p1 == p1[1] - 1 )
{
p1++;
count++;
}else {
break;
}</