内容发布更新时间 : 2025/11/1 3:14:23星期一 下面是文章的全部内容请认真阅读。
}
答案:【12】i 【13】j%3!=0  评析:本题要求输出100以内能被3整除且个位数为6的所有整数,程序中j=i*10+6;语句是求个位数为6的整数,由此可得出程序的循环次数为i    (13)函数mycmp(char*s,char。t)的功能是比较字符串s和t的大小,当s等于t时返回0,  当s>t返回正值,当s mycmp(char*s,char*t)  {  while(*s==*t)  {  if(*s==’\0’)return 0;  ++s;++t;  }  return(  【14】  );  }  答案:【14】*s-*t或-*t+*s  评析:函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化来改变指针所指向的字符,要改变s和t所指不同字符的ASCII码的差值,必须使用“*s-*t”得出。     (14)以下程序运行后的输出结果是  【15】  。  void fun(、)  {  static int a=0:  a+=2;printf(”%d”,a);  }  main()  {  int cc;  for(CC=1;cc<4;cc++)fun();  printf(”\n”);  }  答案:【15】2 4 6  评析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。     (15)下列程序的运行结果是  【16】  。  main()  {  union EXAMPLE  { struct  {int x;int y;}in;  int a;  int b:  }e;  e.a=1;e.b=2;  e.in.x=e.a*e.b;  e.in.y=e.a+e.b;  printf(”%d,%d\n”,e.in.x,e.in.y);  }  答案:【16】4,8  评析:c语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x和e.a、e.b占用同一段内存单元,由于e.in.x和e.a、e.b占用的是同一段内存单元,所以程序最后的打印结果为“4,8”。     (16)在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数    是  【17】  函数。  答案:【17】[NNlrewind或fseek  评析:在对文件进行操作的过程中,若要求文件的位置回到文件的开头,可以调用rewind或fseek函数。其中rewind函数的作用是将位置指针重新返回文件的开头,而fseek函数可以实现文件指针的定位。     (17)以下函数用于求出一个2×4矩阵中的最大元素值。  max_value(arr)  int arr[][4];  {  int I,J,max;  max=alT[0][0];  for(i=0;i<2;i++)  for(j=0;  【18】  ;J++)  if(  【19】  >max)max=[2Q];  return(max);  }  答案:【18】j<4  【19】arr[i][j]  【20】arr[i][j]  评析:2*4矩阵实际上就是一个二维数组,结合本题应为arr[2][4],所以在第一个循环中应当填写“4”;第二个横线处是要判断当前的数组元素值是否大于max,