| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1101 人关注过本帖
标题:再次发现漏洞,为什么if else 前一种写法和后一种 一个对一个错。什么原 ...
只看楼主 加入收藏
我叫K
Rank: 2
等 级:论坛游民
帖 子:74
专家分:19
注 册:2015-4-28
收藏
得分:0 
回复 2楼 TonyDeng
我没碰到过这样的事,所以会有这个疑问,平时没出现特别的情况,也是我学得不够到位,谢谢大家的回答,对我帮助很大。if()后面没花括号只会默认读第一句话,没else会接下去做。但是如果是if  else连用,两者中间不能超过第二句话(整个花括号先算作一句话)。下面分别2个对应代码有错和对的。
这是规范的情况:
程序代码:
#include"stdio.h"
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a<b)
    printf("a比b小");
    else
    printf("a比b大");     
}

错误用法,超2句:
程序代码:
#include"stdio.h"
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a<b)
    printf("a比b小");
    a=a/b;//插入任何都是不对的 ; 
    else
    printf("a比b大");     
}

 但是不涉及else连用,if单用是没关系的:
程序代码:
#include"stdio.h"
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a<b)
    printf("a比b小");
    a=a/b;
    if(a<b)
    printf("a比b小");
    else
    printf("a比b大"); 
     
}

他们和我说,喜欢一个女生要大胆追!
2015-04-30 10:14
我叫K
Rank: 2
等 级:论坛游民
帖 子:74
专家分:19
注 册:2015-4-28
收藏
得分:0 
回复 10楼 wmf2014
我的意思是我发现了自身的不足,自身的漏洞。。。。。真的懂的,何必慎用,我不懂说出来别人指出,我才会懂,被说下无所谓的。

他们和我说,喜欢一个女生要大胆追!
2015-04-30 11:35
z18271264972
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2015-3-29
收藏
得分:0 
虽然我也是菜鸟,但看了你的代码我彻底的醉了
2015-04-30 15:12
小菜鸟一枚
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-4-30
收藏
得分:0 
楼主,一个if对应一个else,这两个应该是在一条竖线上的,如果不对应的话,编译器是认不出来的。也就是说,楼主你不应该挪动第二个else,这是有编程规范的。
2015-04-30 17:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
给你看看书上是怎么说的:
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册


授人以渔,不授人以鱼。
2015-05-03 11:05
maqiangdemo
Rank: 2
等 级:论坛游民
帖 子:78
专家分:98
注 册:2014-2-26
收藏
得分:0 
回复 楼主 我叫K
if 语句后,需要执行的循环体加{}
2015-05-04 08:55
快速回复:再次发现漏洞,为什么if else 前一种写法和后一种 一个对一个错。什 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017709 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved