C语言中if条件语句else省略问题

如题:下列程序运行时,若输入labcedf2df<回车>输出结果为()#include<stdio.h>main(){chara=0,ch;while((ch=getch... 如题:
下列程序运行时,若输入labcedf2df<回车>输出结果为()
#include <stdio.h>

main()

{ char a=0,ch;

while((ch=getch())!='\n')

{ if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch-'a'+'A';

a++; putchar(ch);

}

printf("\n");

}

我问下是不是在a++前面省略了一个else
展开
 我来答
FrankHB1989
推荐于2018-03-11 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3080万
展开全部
输出结果:
lAbCeDf2dF。
----
这个程序的功能是扫描输入的字符,如果是小写字母且输入字符顺序为第偶数个,则转换为大写,最后输出。
a++是用于字符计数用的。a++之前没有省略else。(C++的关键字不能随便被省略,像if、else这些控制语句的关键字更不可能省略。)
if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch-'a'+'A';是单独的if语句,没有else分支判断,如果条件不满足则什么也不做。不管它的条件是否满足,都和下面的a++;等语句无关。
----
[原创回答团]

参考资料: 原创

百度网友4de7b94
推荐于2016-11-02 · TA获得超过8156个赞
知道小有建树答主
回答量:1423
采纳率:93%
帮助的人:57.4万
展开全部

在C语言中正常格式是if(条件){结果}else{结果}.这是为了严谨才这么做的,不过有时为了方便else是可以省略不写的。

下面举一个简单例子:

#include <stdio.h>
int main()
{
    int a,b;
    a=4;
    b=5;
    if(a>b)
    {
       printf("%d",a);
    }
    else
    {
        printf("%d",b);
    }
    return 0;

}

若把else去掉的话,结果一样。但是如果是初学者,还是严谨一些、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kepingyin
2009-09-14
知道答主
回答量:17
采纳率:0%
帮助的人:18.2万
展开全部
没有省略,这段代码是正确的
if语句可以不用要else分支
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6fe6fa45d
2009-09-14 · TA获得超过606个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:222万
展开全部
代码正确:
#include <stdio.h>
#include<string.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");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式