C程序设计,解答,谢谢。简单。

#include<stdio.h>voidmain(){charc;while((c=getchar())!='\n'){if((c>='a'&&c<='z')||(c>... #include<stdio.h>
void main()
{
char c;
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;

}
printf("%c",c);
}
printf("\n");
}

谁能告诉我的第二个if语句中的 c赋值之后是跳回第一个if语句中继续循环了吗?
也就是说我搞不懂的是为什么第二个if语句中的c=c-26结束之后不执行下面的printf?

谢谢了!!
展开
 我来答
jayhou1986
2011-03-15 · TA获得超过1511个赞
知道小有建树答主
回答量:586
采纳率:81%
帮助的人:459万
展开全部
你自己已经告诉了自己答案了,跳回第一个if语句中继续循环了!
追问
可是为什么要返回第一个if语句继续循环呢?能详细点告诉我吗?感激不尽啊
追答
咱们在hi里慢慢聊
chuanshuiyao
2011-03-15
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
没有继续循环,直接执行下面的printf。若c=X,满足if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
可得c=c+4=X+4=88+4.继续执行,看是否满足if(c>'Z'&&c<='Z'+4||c>'z'),满足,c=c-26=92-26=66,则66对应的字母为B。最后结果为B。
你写的程序是A-Z-A和a-z-a的循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式