请问下面这个代码为什么字符“c”和“l”输出的时候还是大写的啊?
#define LETTER 1//(这个LETTER 1是什么意思啊?)
int main(void)
{
char str=“C Language”
char c;
int i=0;
while( (c=str ) !='\0' )
{
i++;
#if LETTER
if(c>='a'&&c<='z')
{
c=c-32;
}
#else
if(c>='A'&&c<='Z')
{
c=c+32;
}
#end if
printf("%c",c);
}
return 0;
}
请问上面这个代码,为什么#else的内容会不执行啊?为什么只执行了#if LETTER 里面的内容呢?而且上面的#defineLETTER 1 是什么意思啊? 1、#define LETTER 1 相当于 声明一个全局变量LETTER,并为其赋值1
2、if LETTER,if (条件)因为LETTER值为1 所以条件为真,执行if语句 大马强 发表于 2021-9-4 22:21
1、#define LETTER 1 相当于 声明一个全局变量LETTER,并为其赋值1
2、if LETTER,if (条件)因为LETTER ...
他这个LETTER为什么要赋值为1呢?如果我赋值为2好像输出的结果也不影响啊? Zhangweisb111 发表于 2021-9-5 10:40
他这个LETTER为什么要赋值为1呢?如果我赋值为2好像输出的结果也不影响啊?
他的目的只是想让条件为真而已 大马强 发表于 2021-9-5 11:06
他的目的只是想让条件为真而已
那我想要#else的条件为真该怎么做呢?LETTER 2? 本帖最后由 jhq999 于 2021-9-5 12:52 编辑
Zhangweisb111 发表于 2021-9-5 11:51
那我想要#else的条件为真该怎么做呢?LETTER 2?
除了等于0,都是真,你可以把0理解成“没有”。 Zhangweisb111 发表于 2021-9-5 11:51
那我想要#else的条件为真该怎么做呢?LETTER 2?
让条件为假就好了,你去了解下啥是条件为真,啥事条件为假 jhq999 发表于 2021-9-5 12:51
除了等于0,都是真,你可以把0理解成“没有”。
好的,懂了,谢谢
页:
[1]