牛奶咖啡丶 发表于 2015-12-4 21:45:05

这到底是什么情况啊,逻辑没问题啊..

本帖最后由 牛奶咖啡丶 于 2015-12-4 21:48 编辑

#include <stdio.h>

void main()
{
      char a;
      scanf("%c",&a);
      a = ( a >= "A" && a <= "Z" ) ? ( a + 32 ): a ;
      printf("%c\n%d\n", a, a);
}   然而结果却是


= =快来告诉我这是啥情况啊..

梦雨帝国 发表于 2015-12-4 22:45:14

#include <stdio.h>

void main()
{
      char a;
      scanf("%c",&a);
      a = ( a >= "A" && a <= "Z" ) ? ( a + 32 ): a ;//这是我的猜想a=(a>='A'&&a<='Z')
      printf("%c\n%d\n", a, a);
}

迷雾少年 发表于 2015-12-5 08:00:08

void main()
{
      char a;
      scanf("%c",&a);
      a = ( a >= 'A' && a <= 'Z' ) ? ( a + 32 ): a ;
      printf("%c\n%d\n", a, a);
}

阴影中的曙光 发表于 2015-12-5 08:45:01

""里是字符串,''里的是字符,你这样写"A"实际上是一个由'A'和'\0'组成的字符串,所以if的条件不满足。

牡丹花下死做鬼 发表于 2015-12-5 08:51:40

""改成''

牛奶咖啡丶 发表于 2015-12-5 09:09:08

阴影中的曙光 发表于 2015-12-5 08:45
""里是字符串,''里的是字符,你这样写"A"实际上是一个由'A'和'\0'组成的字符串,所以if的条件不满足。

= =又二逼了,感谢
页: [1]
查看完整版本: 这到底是什么情况啊,逻辑没问题啊..