代码之家  ›  专栏  ›  技术社区  ›  Jakkie Chan

C语言中的toupper函数

  •  1
  • Jakkie Chan  · 技术社区  · 10 年前
    #include <stdio.h>
    #include <ctype.h>
    
    char* strcaps(char* s)
    {
            while (*s != '\0')
            {
                    toupper(*s);
                    s++;
            }
            return s;
    }
    

    .

    int main()
    {
            char makeCap[100];
            printf("Type what you want to capitalize: ");
            fgets(makeCap, 100, stdin);
            strcaps(makeCap);
            return 0;
    }
    

    这个程序编译得很好,但当我运行它时,它不会输出任何内容。我在这里错过了什么?

    3 回复  |  直到 10 年前
        1
  •  1
  •   P.P    10 年前

    您没有打印任何内容!

    打印的返回值 toupper() .

            printf("%c",toupper(*s));
    
        2
  •  0
  •   Charles Clayton    10 年前

    你不打印任何内容,所以它当然不会输出任何内容。

        3
  •  0
  •   BLUEPIXY    10 年前
    char* strcaps(char* s){
        char *p;
        for (p=s; *p; ++p)
            *p = toupper(*p);//maybe you want to change the original
        return s;//your cord : return address point to '\0'
    }
    ...
    //main
    printf("%s", strcaps(makeCap));