急求理解
发表在C语言图书答疑 2010-07-15
是否精华
版块置顶:
#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<回车>输出结果是,理解不了能帮我解释一下吗,谢谢了。新学员
分享到:
精彩评论 1
Lemon
学分:0 LV1
2010-07-15
沙发
您好!

这里 ch=ch-'a'+'A' 用于执行大小写转换
整个程序的意思 是当a的值为奇数时 将字符转换为大写。当输入 abcde时 输出aBcDe,
第一次执行时 变量a的值为0,不满足 a%2!=0 条件,直接跳出 将字符a输出
第二次执行时 变量a的值为1,满足if语句中的条件 执行将小写字符转换为大写字符。
......

输入 df 同样的道理 输出为dF,即顺序数为偶数的字符大写。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照