问题 填空题

下面程序的功能是输出数组中最大的数,由a指针指向该元素。请填空。
main()
int s[]=6,7,2,13,9,1,12,10,5,8,4,3,11),*a,*b;
for( 【7】 )
if(*a<*b) a=b;
printf("%d",*a);

答案

参考答案:a=s,b=s+A;b-s<sizeof(s)/sizeof(s[0]);b++

解析: 题目要求输出数组中最大的数,所以要遍历整个数组,而指针a用来指向最大数,所以循环变量只有使用指针b。for初始化时,应该先让a指向第1个数,然后让b指向第2个数,故循环初始化语句应该为a=s,b=s+1或其他等价表达式。因为要使 b遍历整个数组,故循环条件应该为b-s<sizeof(s)/sizeof(s[0])或其他等价表达式。最后每次循环应该让b往后移动一位,故for的第 3条语句应该是++b、b++或其他等价形势。所以本题应填a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++或其他等价语句。

单项选择题
填空题