| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1055 人关注过本帖
标题:if语言的困扰,高手来
只看楼主 加入收藏
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
结帖率:73.96%
收藏
已结贴  问题点数:10 回复次数:11 
if语言的困扰,高手来
#include <stdio.h>
main()
{
int a=2.b=-1.c=2;
 if(a<b)
   if(b<0) c=0;
 else c+=1;
printf("%d",c);
}

为什么结果等于2 本人对if的嵌套不太熟悉高手解释一下
搜索更多相关主题的帖子: include 
2011-03-06 15:16
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
int a=2.b=-1.c=2; //符号拼写错误应为:
int a=2,b=-1,c=2;

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-06 15:29
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
多打几个花括号,费不了多少劲,看着却清楚。
程序代码:
#include <stdio.h>

int main (void) {

        int a=2,b=-1,c=2;
        if(a>b) {
                if(b>0) {
                        c=0;
                }
        }else{
                c+=1;
        }

        printf ("%i\n",c);
        return 0;

}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-06 15:32
新手写程序
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
收藏
得分:3 
#include <stdio.h>
int main(){
    int a = 2, b = -1, c = 2;
    if(a < b){
        if(b < 0) c = 0;
        else c += 1;
    }
    printf("%d\n", c);
    return 0;
}
因该是和最近的if结合吧
2011-03-06 15:33
湘南烟雨
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2011-3-2
收藏
得分:1 
回复 楼主 qq8801103
a大于b不满足if呀。。所以就直接把c的值2给输出了嘛。。
2011-03-06 17:17
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:2 
就近原则。else和第二个if配对,由于不满足第一个if要求,第二if没有执行,所以else之后的语句没有执行
2011-03-06 17:25
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
这是计算机等级考试的题目    如何可以用{}那就简单多了   我现在的困惑是if语句的子语句的问题

Discuz!  
好好学习  天天向上
2011-03-07 08:42
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
回复 7楼 qq8801103
你在做题目的时候自己加括号不就行了

免费赠送河蟹一只
2011-03-07 08:53
xu_415
Rank: 1
来 自:四川
等 级:新手上路
帖 子:6
专家分:3
注 册:2011-3-6
收藏
得分:0 
#include <stdio.h>
main()
{
int a=2.b=-1.c=2;
if(a<b){
   if(b<0)
        c=0;
   else c+=1; //else与if(b<0)配对~
   
printf("%d",c);
}
2011-03-07 10:31
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
三楼的错解    四楼正解

                                         
===========深入<----------------->浅出============
2011-03-07 10:35
快速回复:if语言的困扰,高手来
数据加载中...
 
   



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

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