m0_61873236 2022-03-09 16:07 采纳率: 85%
浏览 58
已结题

c语言代码相关的问题

编写一个程序 要求将命令行输入的大写字母变为小写然后符号不变
例子:


./to HOW Are you?
how are you?
./to It IS 3.26!
it is 3.26!

这是我的代码 想问下怎么修改
老是报错 我也不知道问题在哪里
麻烦修改后的代码运行一下

#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main(int argc,char *argv[][])
{
   int m;
   int i;
   for(m=1;m<argc;m++){
    for(i=0;i<999;i++){
   if(*argv[m][i]<'Z' && *argv[m][i]>'A'){
   *argv[m]=tolower(*argv[m]);
}
}
}
   for(m=1;m<argc;m++){
    for(i=0;i<999;i++){
   printf("%s", argv[m][i]);
   return 0;
}
}
   printf("\n");
}

  • 写回答

4条回答 默认 最新

  • 谛凌 2022-03-09 16:45
    关注

    代码如下:

    #include<stdio.h>
    #include<ctype.h>
    #include<string.h>
     
    int main(int argc,char **argv)
    {
        int i, m;
        for(m = 1; m < argc; m++)
        { 
            for(i=0;i<strlen(argv[m]);i++){
                if(argv[m][i]<='Z' && argv[m][i]>='A')  
                    putchar(tolower(argv[m][i]));
                else
                    putchar(argv[m][i]);
             }
             //printf("\n");
             printf(" ");
        }
        printf("\n");
        return 0;
    }
    

    结果:

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日