张世来4610484 发表于 2020-2-28 15:35:22

将字母大写转化为小写

#define CONDI 1
#include <stdio.h>
void main ()
{
        char str="Turbo C",c;
        int i;
        i=0;
        while((c=str!='\0'))
        {
                i++;
#if CONDI
                if(c>='A'&&c<='Z')
                        c=c+32;       
#endif
                printf("%c",c);
        }
}
帮忙看下这个代码,编译没问题,但是运行出来的是乱码

qiuyouzhi 发表于 2020-2-28 15:47:31

现在试试:
#define CONDI 1
#include <stdio.h>
void main ()
{
      char str="Turbo C";
      char c;
      int i;
      i=0;
      while((str!='\0'))
      {
                      c=str;
                i++;
#if CONDI
                if(c>='A'&&c<='Z')
                        c=c+32;      
#endif
                printf("%c",c);
      }
}

major_lyu 发表于 2020-2-28 16:05:14

本帖最后由 major_lyu 于 2020-2-28 16:08 编辑

#define CONDI 1
#include <stdio.h>
void main ()
{
      char str="Turbo C",c;
      int i;
      i=0;
      //while((c=str != '\0'))// !=运算符的优先级比赋值运算符的优先级高。这样写c的值变成了str != '\0'的判断结果了。
      while((c=str) !='\0')
      {
                i++;
#if CONDI
                if(c>='A'&&c<='Z')
                        c=c+32;      
#endif
                printf("%c",c);
      }
}

C语言运算符优先级:http://www.slyar.com/blog/c-operator-priority.html

张世来4610484 发表于 2020-2-29 10:23:06

major_lyu 发表于 2020-2-28 16:05
C语言运算符优先级:http://www.slyar.com/blog/c-operator-priority.html

厉害
页: [1]
查看完整版本: 将字母大写转化为小写