CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

C语言题

楼主ladamandisi()2006-12-01 19:35:03 在 C/C++ / 新手乐园 提问

编写一个程序,其功能是读取输入,直到遇到文件结尾,并把文件显示出来.要求程序可以识别并执行下面的命令行参数:  
      -p               按照原样显示输入  
      -u               把输入全部转换为大写  
      -l               把输入全部转换为小写  
   
   
  (我只能做到在命令行输入"p","u",或"l"执行,请各位大虾为我指正错误...)  
  下面是我写的程序:  
  #include   <stdio.h>  
  #include   <ctype.h>  
  void   upper   (char   *   string);  
  void   lower   (char   *   string);  
   
  int   main   (int   argv,int   *argc[])  
  {  
          char   a[100];  
   
  printf("Please   input   for   a\n");  
  gets   (a);  
   
  if   (*argc[1]   ==   'p')  
  {  
          puts   (a);  
  }  
                    else   if   (*argc[1]   ==   'u')  
  {  
                            upper   (a);  
          puts   (a);  
  }  
                    else   if   (*argc[1]   ==   'l')  
  {  
                            lower   (a);  
          puts   (a);  
  }  
  else  
                            printf("Sorry,you   input   error   command.\n");  
   
  return   0;  
  }  
   
  void   upper   (char   *   string)  
  {  
  while   (*string)  
  {  
  *string   =   toupper   (*string);  
  *string++;  
  }  
  }  
   
  void   lower   (char   *   string)  
  {  
  while   (*string)  
  {  
  *string   =   tolower   (*string);  
  *string++;  
  }  
  }  
  问题点数:20、回复次数:3Top

1 楼jixingzhong(瞌睡虫·星辰)回复于 2006-12-01 20:04:46 得分 0

if   (*argc[1]   ==   'p')  
  {  
          puts   (a);  
  }  
                    else   if   (*argc[1]   ==   'u')  
  {  
                            upper   (a);  
          puts   (a);  
  }  
                    else   if   (*argc[1]   ==   'l')  
  {  
                            lower   (a);  
          puts   (a);  
  }  
  ==》  
  if   (argc[1][1]   ==   'p')       //比较字符取的不对  
  {  
          puts   (a);  
  }  
                    else   if   (argc[1][1]   ==   'u')  
  {  
                            upper   (a);  
          puts   (a);  
  }  
                    else   if   (   argc[1][1]   ==   'l')  
  {  
                            lower   (a);  
          puts   (a);  
  }Top

2 楼laiwusheng(风清扬)回复于 2006-12-01 20:05:27 得分 0

bdTop

3 楼ladamandisi()回复于 2006-12-01 21:54:34 得分 0

不是,我试过比较'-p','-u',然后到命令行里打-p,或-u执行的结果不对  
  但是,如果是'p',再到命令行里用'p'执行结果是正确的Top

相关问题

关键词

得分解答快速导航

  • 帖主:ladamandisi

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo