28.下面程序的运行结果是:12
#include
main()
{char ch[7]={"12ab56"};
int i,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=1)
s=10*s+ch[i]-'0';
printf(“%d\n”,s)
}
29.下面程序的运行结果是
#include<stdio.h>
#include<string.h>
main()
{cbar a[80]="AB",b[80]="LMNP";
int i=0;
strcat(a,b);
while(a[i++]!='\0')
b[i]=a[i];
puts(b);
}
(A)LB (B)ABLMNP (C)AB (D)LBLMNP
30. 若有以下说明和语句,则输出结果是【】。
char s[12 ]=“a book!”; printf (“%.4s”, s );
(A) a book! (B) a bo
(C) a book!?(代表空格) (D) 因格式描述不正确,没有确定的输出
二、填空题
1.若有定义:int a[3][4]={{1,25,4},{0},{4,6,8,10}};则初始此后,a[1][2]得到的初始值是【0 】,a[2][1]得到的初值是【6】。
2.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为;【i*m+j +1 】。(假设a[0][0]位于数组的第一个位置上。)
3.下面程序以每行4个数据的形式输出a数组,请填空。
#define N 20
main()
{int a[N],i
for(i=O;i<N;i++) scanf("%d",【a[i] 】);
for(i=0;i{if(【(i+1)%4==0 】) 【printf(“\n”) 】;