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




