#include <stdio.h>
main()
{ char a=0, ch
while((ch=getchar())!=\n'
{ if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch-'a'+'A'
a++; putchar(ch);
}
printf("\n");
}
输入1abcdef2df<回车>输出结果是,理解不了能帮我解释一下吗,谢谢了。新学员
Lemon
学分:0 LV1
您好!
这里 ch=ch-'a'+'A' 用于执行大小写转换
整个程序的意思 是当a的值为奇数时 将字符转换为大写。当输入 abcde时 输出aBcDe,
第一次执行时 变量a的值为0,不满足 a%2!=0 条件,直接跳出 将字符a输出
第二次执行时 变量a的值为1,满足if语句中的条件 执行将小写字符转换为大写字符。
......
输入 df 同样的道理 输出为dF,即顺序数为偶数的字符大写。