C语言习题参考答案

第一章
1.1
软件是与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。程序只是完整软件产品的一个部分。
计算机程序是按照具体要求产生的适合于计算机处理的指令序列。
1.3
C语言主要用途是编写操作系统和系统软件。
C语言特点是功能丰富、移植力强、编译质量高。
1.4
C语言程序由函数构成,函数又由函数首部和函数体两部分组成。
1.5
C程序从编制到执行通常要经过编辑、预处理、编译、连接、加载和执行六个阶段。
编辑 程序代码的录入,生成源程序。
预处理 根据预处理命令对程序做相应的处理(如将程序所包含的文件内容嵌入到程序中)。
编译 语法分析查错,生成目标程序。
连接 与其它目标程序链接,生成可执行程序。
加载 从存储设备中取出可执行代码程序装入计算机的内存中,以待CPU执行。
执行 CPU按照指令开始执行该程序,处理需要处理的数据,完成编程人员所设想完成的任务。
1.7
# include /* 文件包含预处理命令 */
int main( ) /* 声明主函数main( ) */
{
printf(" 我是一名大学生,我喜欢学习C语言!\n"); /* 调用库函数printf( ) */
return 0; /* 返回值0,返回操作系统 */
}

1.8
int mian();
{
int a=80;b=81;
printf(input a b);
scanf("%d%d",a,b);
printf("a=%d\tb=%d/n",a, b);
return 0
}
改为
int main()
{
int a=80,b=81;
printf("input a b");
scanf("%d%d",&a,&b);
printf("a=%d\tb=%d\n",a, b);
return 0;
}
1.9
#include
int sum(int x, int y, int z); /* 说明自定义sum函数 */
int main( )
{
int a, b, c, d; /* 定义4个整型变量 */
printf("Enter three integers:"); /* 提示输入3个整型量 */
scanf("%d%d%d", &a,&b,&c);
d = sum(a, b, c); /* 调用sum函数,并将结果赋予d */
printf("Sum is %d \n",d); /* 输出3个整数中最大值结果 */
return 0;
}
int sum(int x, int y, int z) /* 定义子函数sum( ) */
{
int w; /* 定义子函数内的整型变量w */
w=x+y+z;
return w;
}


第二章
2.1
计算机所处理的数据是以各种各样的类型存在的,如整数、实数、一个字符或一段文字等等,不同类型的数据在表示形式、取值范围、存放和处理时所占的内存空间(即字节数)等方面都是不一样的。因此需要在程序或函数中用声明语句对程序中要处理的数据进行类型定义,其目的就是为不同类型的数据开辟不同大小的存储空间,以便进行处理与存储。
C语言提供了整型、单精度型、双精度

型、字符型4种基本数据类型。
2.2
C语言规定,所有用到的变量必须是先定义,后使用。因为:指定一个变量的类型不仅决定了该变量存储在内存中所占的空间(字节数)的大小,而且也规定了该变量的合法操作,以及检测使用该变量的正确性。
2.3
常量和变量的区别:常量其值不能被改变;变量其值可被改变。
字符常量和字符串常量的区别:
(1) 描述形式不一样(字符常量是用一对单引号括起来的一个字符;字符串常量是由一对双引号括起来的字符序列);
(2) 存储形式不一样(字符常量仅存放单引号内字符的ASCII码值;字符串常量不仅存放双引号之间的字符序列的所有ASCII码值,而且为了表示字符串的结束,还要存放一个空操作字符“\0”的ASCII码值)。
2.4 c
2.5 b
2.6 a
2.7 b
2.8 c
2.9 c
2.10 b
2.11 a
2.12 c
2.13 d
2.14 a
2.15 a
2.16 3,1 4,3 4,4 4,2
2.17
x=40,y=5,f=3.600000
2.18
x=2 y=2.500000 c=a
2.19
(1)1 (2)30 (3) 5.000000 (4) 0.000000 (5) 1 (6) 3.800000

第三章

3.1
(1) 0 (2) 1 (3) 1 (4) 0 (5) 0
3.2
ABC12def
3.3
#include
#include
int main()
{ float x1,y1,x2,y2,d;
scanf("%f,%f,%f,%f",&x1,&y1,&x2,&y2);
d=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
printf("d=%f",d);
return 0;
}
3.4
#include
#include
#define PI 3.1415926
int main()
{ float r,h,l,s,v;
scanf("%f,%f",&r,&h);
l=2*PI*r;
s=PI*r*r;
v=s*h;
printf("l=%5.2f,s=%5.2f,v=%5.2f\n",l,s,v);
return 0;
}
3.5
#include
int main()
{ int a,b,c,m;
printf("请输入三个整数:");
scanf("%d,%d,%d",&a,&b,&c);
if (a>b) m=a;
else m=b;
if (c>m) m=c;
printf("输出结果为:");
printf("max=%d\n",m);
return 0;
}
3.6
#include
int main()
{
char ch1,ch2;
printf("请输入一字符:");
scanf("%c",&ch1);
if (ch1>='A'&&ch1<='Z') ch2=ch1+32;
else if(ch1>='a'&&ch1<='z') ch2=ch1-32;
if ((ch1>='A'&&ch1<='Z')||(ch1>='a'&&ch1<='z')) printf("原字母及ASCII为:%c %d\n转换后的字母及ASCII为:%c %d\n",ch1,ch1,ch2,ch2);
else printf("输出为:%c\n",ch1);
}
3.7
#include
#include
void main()
{
float x;
double y;
printf("please input x:");
scanf("%f",&x);
if(x>=0&&x<40)
{
if(x<10) y=sin(x);
else if(x<20) y=cos(x);
else if(x<30) y=exp(x)-1;
else if(x<40) y=log(x+1);
printf("y=%f\n",y);
}
else
printf("无定义!\n");
}
3.8
#include
#define price 1
int main()
{
float w,s,f,k;
scanf("%f,%f",&w,&s);
if ((w<0)||(s<0)) printf("输入错误!\n");
else
{switch ((int)s/250)
{
case 0: k=0; break;
case 1: k=0.02; break;
case 2: k=0.03; break;

case 3: k=0.05; break;
case 4:
case 5: k=0.08; break;
default: k=0.1;
}
f=w*s*price*(1-k);
printf("fen=%5.2f\n",f);
}
return 0;
}
3.9
#include
void main()
{
int i;
float t=1,e=1;
for(i=1;i<=10;i++)
{
t=t*1.0/i;
e=e+t;
}
printf("e=%f",e);
}
3.10
#include
void main()
{
int m,n,a,b,i;
printf("input m and n:\n");
scanf("%d%d",&m,&n);
for(i=1;i<=m&&i<=n;i++)
if(m%i==0&&n%i==0)
a=i;
b=m*n/a;
printf("最大公约数:%d",a);
printf("最小公倍数:%d",b);
}
或:
#include "stdio.h"
void main()
{
int m,n,r,M,N;
int intGreatComDiv,intLeaseComMul;
/*intGreatComDiv为最大公约数,intLeaseComMul最小公倍数*/
printf("请输入m和n的值:");
scanf("%d,%d",&m,&n);
M=m;
N=n;
if((m<=0)||(n<=0))
{
printf("输入错误!请重新输入!\n");
return;
}
r=m%n;
while(r!=0) /*利用辗转相除法,直到r为0为止*/
{
m=n;
n=r;
r=m%n;
}
intGreatComDiv=n;
intLeaseComMul=M*N/intGreatComDiv;
printf("m和n的最大公约数是: %d\n",intGreatComDiv);
printf("m和n的最小公倍数是: %d\n",intLeaseComMul);
}


3.11
#include
int main()
{ int letter=0,space=0,digit=0,other=0;
char c;
printf("请输入一行字符:");
c=getchar();
while ( c!='\n')
{ if ( (c>='a'&& c<='z')|| (c>='A'&& c<='Z')) letter++;
else if(c==' ') space++;
else if(c>='0'&& c<='9') digit++;
else other++;
c=getchar();
}
printf("letter=%d,space=%d,digit=%d,other=%d\n",letter,space,digit,other);
return 0;
}
3.12
void main( )
{ int day,x1,x2;
day=9;
x2=1;
while(day>0)
{ x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
3.13
#include
void main()
{
int i;
for(i=2;i<=999;i++)
if(i<10&&(i*i%10==i))
printf("%5d",i);
else if(i<100&&(i*i%100==i))
printf("%5d",i);
else if(i<1000&&(i*i%1000==i))
printf("%5d",i);
}
或:
#include "stdio.h"
int main()
{ int i,k=10;
for (i=2;i<=999;i++)
{ if (i==k) k=k*10;
if (i*i%k==i) printf("%5d",i);
}
return 0;
}
3.14 要用数组
3.15
#include "stdio.h"
int main()
{ int n,x,i,max=-10000,min=10000,maxord,minord;
printf("n=?");
scanf("%d",&n);
for (i=1;i<=n;i++)
{ scanf("%d",&x);
if (xif (x>max) { maxord=i;max=x; }
}
printf("max=%d,maxord=%d,min=%d,minord=%d\n",max,maxord,min,minord);
return 0;
}
3.16
#include "stdio.h"
int main()
{ int i,j;
for (i=1;i<=5;i++)
{ for (j=1;j<=5-i;j++) printf(" ");

for (j=1;j<=2*i-1;j++) printf("*");
printf("\n");
}
return 0;
}

第四章

4.1
#include
int sushu(int x)
{
int i,f=1;
for(i=2;iif(x%i==0)
{
f=0;
break;
}
if(f==1)
return 1;
else
return 0;
}
void main()
{
int i;
for(i=1;i<1000;i=i+2)
if(sushu(i)==1)
printf("%4d",i);
printf("\n");
}
或:
#include
#include
int prime(int n);
int main()
{ int i,n=0;
for (i=2;i<1000;i++)
if (prime(i)==1)
{ printf("%5d",i); n=n+1;
if (n%10==0) printf(“\n”); }
printf("\n");
return 0;
}
int prime(int n)
{ int i;
for(i=2;i<=sqrt(n);i++)
if (n%i==0) return 0;
return 1;
}

4.2
#include
void sxhs(int x)
{
int a,b,c;
a=x%10;
b=x/10%10;
c=x/100;
if(x==a*a*a+b*b*b+c*c*c)
printf("%5d",x);
}
void main()
{
int i;
for(i=100;i<=999;i++)
sxhs(i);
}
4.3
#include
int gys(int a,int b)
{
int i,c;
for(i=1;i<=a&&i<=b;i++)
if((a%i==0)&&(b%i==0))
c=i;
return(c);
}
int gbs(int a,int b)
{
int c;
c=gys(a,b);
return(a*b/c);
}

void main()
{
int m,n;
printf("input m and n:");
scanf("%d,%d",&m,&n);
printf("最大公约数:%d\n",gys(m,n));
printf("最小公倍数:%d\n",gbs(m,n));
}
4.4
#include
void printchar(char ch,int n)
{
int i;
for(i=1;i<=n;i++)
putchar(ch);
}
void main()
{
char ch;
int n;
printf("please input char and n: ");
scanf("%c,%d",&ch,&n);
printchar(ch,n);
printf("\n");
}
4.5
#include
void main()
{int day,month,year,sum,leap;
printf("Please input year,month,day:");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) /* 先计算某月以前月份的总天数 */
{case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");
}
sum=sum+day; /* 再加上某天的天数 */
if ((year%400==0)||((year%4==0)&&(year%100!=0))) leap=1; /* 判断是不是闰年 */
else leap=0;
if((leap==1)&&(month>2)) sum=sum+1; /* 如果是闰年且月份大于2,总天数应该加一天 */
printf("It is the %dth day.\n",sum);
}
4.6
#include
int f(int k)
{if (k==1) return(1);
else if (k==2) return(1);
else return(f(k-2)+f(k-1));
}
void main()
{int i;
for(i=1;i<=20;i++) printf("%5d",f(i));
printf("\n");
}
4.7
#include
#include
int huiwen(int a)
{ int b,c=0,n=0;
b=a;
while (b!=0) {n++;b=b/10;} /* 确定a有几位 */
b=a;
while (b!=0) /* 把a个位当最高位、十位当次高位计算其值 */
{c=c+(b%10)*pow(10

,n-1);
n--;
b=b/10;}
if (c==a) return 1;
else return 0;
}
main()
{
int x,k;
printf("Enter x=?");
scanf("%d",&x);
k=huiwen(x);
if(k==1)
printf("Yes!\n");
else
printf("No!\n");
}
4.8
#include
int f(int x,int n);
int main()
{ int a,b;
scanf("%d,%d",&a,&b);
printf("%d^%d=%d\n",a,b,f(a,b));
return 0;
}
int f(int x,int n)
{ if (n==0) return(1);
else if (n==1) return(x);
else return(x*f(x,n-1));
}

4.9
#include
float pnx(float x,int n)
{
float f;
if(n==0) return(1);
else if(n==1) return(x);
else return(((2*n-1)*x-pnx(x,n-1)-(n-1)*pnx(x,n-2))/n);
}
void main()
{
int n;
float x,y;
printf("intput x and n: ");
scanf("%f,%d",&x,&n);
y=pnx(x,n);
printf("y=%f",y);
printf("\n");
}

4.10 return(x) return(x*(1-px(x,n-1)))
4.11 m%k==0
m=m/k;
k++;

第五章

5.1 对 错 错 对 对 对 对 错 错 错 错 对
5.2 对 对 对 错 错
5.3 B
5.4 D
5.5 B
5.6 C
5.7 D
5.8 c
5.9 A
5.10 D
5.11 A
5.12 B
5.13 A
5.14 字符串为常量;字符数组为变量,用字符数组处理字符串。
5.16
int main( )
{int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,x;
x=a[0];
for (i=1;i<=9;i++) a[i-1]=a[i];
a[9]=x;
for (i=0;i<=9;i++) printf("%5d",a[i]);
printf("\n");
return 0;
}

5.17
#include
int main( )
{int a[20]={0,4,6,18,23,45,67,89,100,112};
int i,j,x,n=10;
printf("请输入要插入的若干数(结束标志为-1):\n");
scanf("%d",&x);
while (x!=-1)
{ for (i=0;i<=n-1;i++)
if (xfor (j=n-1;j>=i;j--) a[j+1]=a[j];
a[i]=x;
n++;
scanf("%d",&x);
}
printf("插入以后的所有数据:\n");
for (i=0;i<=n-1;i++) printf("%5d",a[i]);
printf("\n");
return 0;
}

5.19
#include
int main( )
{int a[10];
int i,x,n,m,r;
printf("请输入任意一个正整数:");
scanf("%d",&x);
n=0;
m=x;
while (m!=0)
{ r=m%2;
a[n]=r;
n++;
m=m/2;
}
printf("%d的二进制数为:" , x);
for (i=n-1;i>=0;i--) printf("%d",a[i]);
printf("\n");
return 0;
}


5.20
#include
#include
int main( )
{int a[5][5]={{0,1,2,3,4},
{5,6,7,8,9},
{-120,3,4,79,89},
{9,3,4,2,28},
{22,33,44,-5,11}};
int i,j,k,t;
printf("处理前的矩阵为:\n");
for (i=0;i<=4;i++)
{for (j=0;j<=4;j++) printf("%8d",a[i][j]);
printf("\n");
}
for (i=0;i<=4;i++)
{ k=i;
for (j=0;j<=4;j++)
{if (abs(a[i][k])if (k!=i) { t=a[i][i]; a[i][i]=a[i][k]; a[i

][k]=t; }
}
printf("处理后的矩阵为:\n");
for (i=0;i<=4;i++)
{for (j=0;j<=4;j++) printf("%8d",a[i][j]);
printf("\n");
}
return 0;
}


第六章

6.1 D
6.2 B
6.3 B
6.4 16 8
6.5 7 7
6.6 8 m
6.7 定义类似、引用不同,不能
6.8 类型名简化、程序参数化
6.9
#include
#include
typedef struct
{ char name[8];
char address[20];
char department[6];
char postcode[6];
char phonenumber[12];
}telebook;
void main()
{ telebook a[100];
char x[8];
int n,i;
float highest;
printf("请输入校友人数:");
scanf("%d",&n);
printf("请输入 %d 名校友姓名、地址、院系、邮政编码、电话:\n",n);
for (i=0;i<=n-1;i++) scanf("%s %s %s %s %s",a[i].name,a[i].address, a[i].department,a[i].postcode,a[i].phonenumber);
printf(" 校友通讯录\n");
printf("姓名 地址 院系 邮政编码 电话\n");
for (i=0;i<=n-1;i++) printf("%s %s %s %s %s\n",a[i].name,a[i].address, a[i].department,a[i].postcode,a[i].phonenumber);
printf("请输入要查找的校友姓名:");
scanf("%s",x);
for (i=0;i<=n-1;i++)
{if (strcmp(x,a[i].name)==0) break; }
if (i<=n-1)
{ printf("姓名 地址 院系 邮政编码 电话\n");
printf("%s %s %s %s %s\n",a[i].name,a[i].address, a[i].department,a[i].postcode,a[i].phonenumber);
}
else printf("查无此人!\n");
}

6.10
#include
#include
typedef struct
{ char number[10];
char name[8];
float score[3];
float total;
}student;

void input(student s1[ ],int m);
void sum(student s1[],int m);
void SortScore(student s1[],int m);
void output(student s1[],int m);
void search(student s1[],int m,char num[]);
int statisticsnopass(student s1[],int m);

int main( )
{ student s[100];
int n;
char num[10];
printf("请输入学生人数:");
scanf("%d",&n);
input(s,n);
sum(s,n);
SortScore(s,n);
output(s,n);
printf("请输入要查找的学生的学号:");
scanf("%s",num);
search(s,n,num);
printf("不及格人数:%d人!",statisticsnopass(s,n));
printf("\n");
return 0;
}

void input(student s1[],int m)
{ int i;
for(i=0;i<=m-1;i++)
{printf("请输入第%d个学生的学号、姓名、数学成绩、英语成绩、C语言成绩:\n",i+1);
scanf("%s %s %f %f %f",&s1[i].number,&s1[i].name,&s1[i].score[0],&s1[i].score[1],&s1[i].score[2]); }
}

void sum(student s1[],int m)
{ int i;
for(i=0;i<=m-1;i++)
s1[i].total = s1[i].score[0]+s1[i].score[1]+s1[i].score[2];
}

void SortScore(student s1[],int m)
{ int i,j,k;
student t;
for(i = 0; i < m-1; i++)
{ k=i;
for(j = i+1 ; j < m; j++)
if(s1[k].total < s1[j].total) k=j;
if (k!=i) {t = s1[i]; s1[i] = s1[k]; s1[k] = t; }
}
}

void output(student s1[],int m)
{ int i;
printf("\n排序结果为:\n");
printf("

名次 学号 姓名 数学 英语 C语言 总分\n");
for(i=0;i<=m-1;i++)
{
printf(" %d ",i+1);
printf("%s ",s1[i].number);
printf("%s ",s1[i].name);
printf("%5.2f ",s1[i].score[0]);
printf("%5.2f ",s1[i].score[1]);
printf("%5.2f ",s1[i].score[2]);
printf("%6.2f ",s1[i].total);
printf("\n\n");
}
}

void search(student s1[],int m,char num[])
{ int i;
for(i=0;i<=m-1;i++)
if (strcmp(s1[i].number,num)==0) break;
printf("\n");
if (i<=m-1)
{ printf("学号:%s\t",s1[i].number);
printf("姓名:%s\t",s1[i].name);
printf("数学:%5.2f\t",s1[i].score[0]);
printf("英语:%5.2f\t",s1[i].score[1]);
printf("C语言:%5.2f\t",s1[i].score[2]);
printf("总分:%6.2f\t",s1[i].total);
printf("\n\n");
}
else printf("查无此人!");
}

int statisticsnopass(student s1[],int m)
{ int i,j,k=0;
for(i = 0; i < m; i++)
if((s1[i].score[0]<60)||(s1[i].score[1]<60)||(s1[i].score[2]<60)) k++;
return k;
}

第七章

7.1
(1) 对
(2) 错
(3) 错
(4) 对
(5) 错
(6) 对
(7) 错
(8) 对
(9) 错
(10) 对
7.2
(1) 对
(2) 错 改为 int y=10;
(3) 对
(4) 错 改为 int m; int *x=&m;
7.3 B
7.4 A
7.5 D
7.7 C
7.8 D
7.9 A
7.10 B
7.11 C
7.13
内存地址
7.14
在定义指针变量时赋初值,也可用赋值语句实现。
7.15
指向数组元素的指针变量保存的是数组元素的地址,指向数组的指针变量保存的是数组的地址。
数组名是地址常量,指针变量是地址变量。
7.16
指针变量可以进行指向、赋值、++、--、相减、比较等运算,运算时要注意值是否超界。
7.17
#include
void sort(int *a,int *b,int *c);
int main()
{ int x,y,z;
printf("请输入三个整数:");
scanf("%d,%d,%d",&x,&y,&z);
sort(&x,&y,&z);
printf("输出结果为:");
printf("%d,%d,%d\n",x,y,z);
return 0;
}
void sort(int *a,int *b,int *c)
{ int t;
if (*b<*a) { t=*a; *a=*b; *b=t; };
if (*c<*a) { t=*a; *a=*c; *c=t; };
if (*c<*b) { t=*b; *b=*c; *c=t; };
}
7.18
两者区别:
(1)存储内容不同:字符指针变量存放字符串0号元素的地址,字符数组存放若干字符;
(2)分配的内存单元不大小同:
(3)赋值方法不同:字符数组只能在变量定义时整体赋初值,不能用赋值语句整体赋值,用赋值语句只能对各个元素分开赋值;字符指针变量,赋值语句将字符串首地址赋值给它(对于字符型指针变量,是先将字符串存放到内存,然后将存放字符串的内存起始地址送到指针变量中)。
(4)指针变量的值是可以改变的, 字符数组名是地址常量, 它的值是不能改变的。

第八章

8.1
用一个指针变量指向一个文件,这个指针称为文件类型指针。通过文件类型指针就可对它所指的文件进行各种操作。
8.2


ⅰ) 建立/打开文件;
ⅱ) 从文件中读取数据或向文件中写数据;
ⅲ) 关闭文件。
8.3
文件不存在、打开方式不对都会引起打开文件操作出错。
当向文件写数据时,是先将数据写到缓冲区,待缓冲区充满后才整块传送到磁盘文件中。如果程序结束时,缓冲区尚未充满,则其中的数据并没有传到磁盘上,必须使用fclose函数关闭文件,强制系统将缓冲区中的所有数据送到磁盘,并释放该文件指针变量,否则这些数据可能只是被输出到了缓冲区中,而并没有真正写入磁盘文件。所以,忘记关闭文件可能会造成数据丢失。
8.4
#include
main()
{ FILE *fp1,*fp2;
char ch1,ch2,*filename1="f1.txt",*filename2="f2.txt";
if((fp1=fopen(filename1,"r"))==NULL)
{ printf("cannot open file\n");
exit(1);
}
if((fp2=fopen(filename2,"r"))==NULL)
{ printf("cannot open file\n");
exit(1);
}
while((ch1=fgetc(fp1))!=EOF)
{ch2=fgetc(fp2);
if(ch2!=ch1) break;}

if ((ch1==EOF)&&(ch2=fgetc(fp2)==EOF)) printf("Compare ok!");
else printf("Not equal!");
fclose(fp1);
fclose(fp2);
}
8.5
#include
main()
{ FILE *fp;
char ch,*filename="out.txt";
if((fp=fopen(filename,"w"))==NULL)
{ printf("cannot open file\n");
exit(1);
}
printf("Please input string:");
ch=getchar();
while(ch!='#')
{ if ((ch>='a')&&(ch<='z')) ch=ch-32;
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
}
8.6
#include
#include
main()
{ FILE *fp;
char ch1,ch2,*filename="try.c";
if((fp=fopen(filename,"r"))==NULL)
{ printf("cannot open file\n");
exit(1);
}
while((ch1=fgetc(fp))!=EOF)
{
while((ch2=fgetc(fp))!=EOF)
if(!((ch1=='/')&&(ch2=='*'))) {putchar(ch1);ch1=ch2;}
else break;
if (ch2==EOF) {putchar(ch1);fclose(fp);}
ch1=fgetc(fp);
while((ch2=fgetc(fp))!=EOF)
{ if((ch1=='*')&&(ch2=='/')) break;
ch1=ch2; }
}

}



相关文档
最新文档