标题:一个命令行参数程序帮忙看看怎么回事
只看楼主
esc345
Rank: 2
等 级:论坛游民
帖 子:25
专家分:45
注 册:2014-1-27
结帖率:100%
已结贴  问题点数:20 回复次数:4 
一个命令行参数程序帮忙看看怎么回事
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
 int i;
 char a[100];
 char ch,b;
 FILE *fp;
 ch=argv[1][0];
 if(argc=2)
 {
     int count=0;
     puts("input your file name");
     gets(a);
     if((fp=fopen(a,"r"))==NULL)
     {
       printf("Can't open %s",a);
       exit(1);
     }
     else
     {
         while((b=getc(fp))!=EOF)
         {
             if(ch==b)
                 count++;
         }
            
     }
     printf("the %c show %d times",ch,count);
     fclose(fp);
 }
 if(argc>2)
 {
 for(i=2; i<argc; i++)
 {
     int count=0;
  printf("\nFILE %d -- %s:\n",i-1,argv[i]);
  if ( (fp = fopen(argv[i],"r")) == NULL)
  {
   printf ("Can't open %s\n", argv[i]);
   exit(1);
  }
  while((b=getc(fp))!=EOF)
         {
               if(ch==b)
                 count++;
         }                     
         printf("the %c show %d times",ch,count);
         fclose(fp);
     }

 }
 return 0;
}
参数大于2时 为什么程序不进入下面那个 if(argc>2)里面
搜索更多相关主题的帖子: include count file 
2014-02-21 02:58
fl8962
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:539
专家分:2471
注 册:2012-10-17
得分:15 
if(argc=2)  //!!!看这里,你这是判读语句么?明显的赋值语句吧。。。if(argc==2)  改过以后没错误了
{
     int count=0;
     puts("input your file name");
     gets(a);
     if((fp=fopen(a,"r"))==NULL)
     {

想抽苏烟了。
2014-02-21 06:39
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
得分:5 
判断的时候 ,可以的话就把数字放前面,例如if(2==argc) 这样就直接能看出来是否写错了

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2014-02-21 09:53
esc345
Rank: 2
等 级:论坛游民
帖 子:25
专家分:45
注 册:2014-1-27
得分:0 
对对。。。谢谢大家。。。没注意这个问题。。。。。
2014-02-21 14:22
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
得分:0 
吼吼
我也来学学
2014-02-21 14:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-427473-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027045 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved