2017上半年课程设计1

//读入一个c程序,判断其中是否只有一个main()函数,输出“暂时没有发现问题”,或者”没有main()函数“,或者"不能定义多个main()函数" //提示1:简单处理,可以只比较判断“main()”,考虑实际上的各种可能,main后面的括号中还有其他多种写法。建议按最简单的情形处理。 //提示2:建议设计一个函数,将读到的代码与字符串“main()”进行比较。函数用于判断s1是否“包含”在读入的一行s2中,调用时,形参s1处的实参用“main()”即可,这样写提升了“抽象”级别,更容易实现,对应更高的代码质量。 //测试时,建立一个source.c文件,分别使其中有main()、无main(),以及出现多个。 #include <stdio.h> #include <stdlib.h>

int main() {     FILE *fp1;     char ch,a[10000];//定义个数组,用于存放所有字符     int i=0,len,x=0;//x记录main函数的个数,i记录字符个数     if((fp1=fopen("data.txt","r"))==NULL)     {         printf("Cannot open \n");         exit(1);     }     while((ch=fgetc(fp1))!=EOF)     {         a[i]=ch;         i++;     }     for(len=0; len<i-5; len++)     {         if(a[len]=='m')//通过检查main()这几个字符来确定是否存在多个main函数;         {             if(a[len+1]=='a')             {                 if(a[len+2]=='i')                 {                     if(a[len+3]=='n')                     {                         if(a[len+4]=='(')                         {                             if(a[len+5]==')')                                 x++;                         }                     }                 }             }         }     }     if(x==0)         printf("没有main()函数");     else if(x==1)         printf("暂时没有发现问题");     else         printf("不能定义多个main()函数");     return 0; }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值