小人 发表于 2015-11-7 11:58:40

独一无② 发表于 2015-11-7 11:50
咦,我怎么看 代码 没有变化,哪里有改动了,

else if{:9_240:}这是关键点

独一无② 发表于 2015-11-7 12:06:16

小人 发表于 2015-11-7 11:58
else if这是关键点

哇塞,好神奇。换了else if 就行了,好像想不通。为什么?:mad::cry

小人 发表于 2015-11-7 12:08:04

独一无② 发表于 2015-11-7 11:50
咦,我怎么看 代码 没有变化,哪里有改动了,

没有 else if你执行完第一个if会继续执行第二个if
比如 大写 A那么 第一个 if 的条件是成立的第一个if 运行后 就变成小写a
那么 第二个if 也成立了就变成大写A   

有else if就是 只要一个通过就过了   不会再向下执行或者你也可以用 continue

小人 发表于 2015-11-7 12:08:53

#include <stdio.h>
int main(){

      char str={0};
      int i=0;
      scanf("%s",&str);
      while(str!='\0')
      {
                if(str>='A'&&str<='Z'){
                        str+=32;
                        i++;
                        continue;
                }
            if(str>='a'&&str<='z'){
                        str=str-32;
                        i++;
                        continue;
                }
                if(str>='0'&&str<='9'){
                        str=57-(str-48);
                        i++;
                        continue;
                }
      }
      printf("%s",str);

    return 0;
}

这是用continue 的代码

独一无② 发表于 2015-11-7 12:08:55

小人 发表于 2015-11-7 11:58
else if这是关键点

哦,我想明白了,大写字母转换为小写 字母后 有进行了转换 ,太谢谢你了。

小人 发表于 2015-11-7 12:09:45

独一无② 发表于 2015-11-7 12:08
哦,我想明白了,大写字母转换为小写 字母后 有进行了转换 ,太谢谢你了。

没事{:9_240:}
页: 1 [2]
查看完整版本: C语言 字母大小写转换和数字转换