|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么结果不是15
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
789
人关注过本帖
标题:
为什么结果不是15
只看楼主
加入收藏
Small包子
等 级:
新手上路
帖 子:23
专家分:3
注 册:2013-3-20
结帖率:
0
楼主
收藏
问题点数:0 回复次数:10
为什么结果不是15
#include<stdio.h>
void main()
{
int a=0,b=1,c=0,d=20;
if(a) d=d-10;
else if(!b)
if(!c) d=15;
else d=25;
printf("d=%d\n",d);
}
2013-06-01 13:44
举报帖子
使用道具
赠送鲜花
bccn新
等 级:
论坛游侠
威 望:
1
帖 子:57
专家分:144
注 册:2013-5-10
第
2
楼
收藏
得分:0
这个程序只做了一句赋值:d=25;最后结果当然不是15了.
2013-06-01 14:05
举报帖子
使用道具
赠送鲜花
Han_FlyB
等 级:
侠之大者
帖 子:143
专家分:424
注 册:2013-3-25
第
3
楼
收藏
得分:0
因为else if (!b)没有符合条件,所以没有执行if (!c) d=15了,直接到最后一个else了
2013-06-01 14:08
举报帖子
使用道具
赠送鲜花
Small包子
等 级:
新手上路
帖 子:23
专家分:3
注 册:2013-3-20
第
4
楼
收藏
得分:0
回复 3楼 Han_FlyB
可答案是20
2013-06-01 14:17
举报帖子
使用道具
赠送鲜花
秦殇
等 级:
论坛游民
帖 子:61
专家分:77
注 册:2013-3-13
第
5
楼
收藏
得分:0
把b的值改成0就行。
不然,你到!b的时候,直接结束了。
2013-06-01 15:20
举报帖子
使用道具
赠送鲜花
qiankai
等 级:
论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
第
6
楼
收藏
得分:0
你的if(!c)包含在了else if(!b)语句中了,也就是说当if(!b)判断语句不为true 就不会执行if(!c)的判断,d的值也就不会发生改变,依旧是20了。
2013-06-01 15:29
举报帖子
使用道具
赠送鲜花
扯淡的90
等 级:
新手上路
帖 子:7
专家分:7
注 册:2013-4-12
第
7
楼
收藏
得分:0
回复 6楼 qiankai
对,正解!
2013-06-01 18:18
举报帖子
使用道具
赠送鲜花
蓝天时代
等 级:
论坛游民
帖 子:30
专家分:47
注 册:2013-4-25
第
8
楼
收藏
得分:0
中间的程序都不执行。所以输出的是初始值d=20;
2013-06-01 20:15
举报帖子
使用道具
赠送鲜花
lzj12530
等 级:
蝙蝠侠
威 望:
2
帖 子:264
专家分:841
注 册:2013-3-28
第
9
楼
收藏
得分:0
如果没有大括弧else 只能和最近的一个if配对,那么你的整个程序的逻辑就是这样的
if(a)
//a=0,执行else下语句2
d=d-10;
//语句1
else
if(!b)
//语句2,判断!b=0,那么跳过整个if else语句直接执行最后的打印
if(!c)
d=15;
else
d=25;
//所以最后的结果是d=20,并没有执行任何赋值语句
[
本帖最后由 lzj12530 于 2013-6-1 20:39 编辑
]
C++菜鸟
2013-06-01 20:34
举报帖子
使用道具
赠送鲜花
谢跃锋
等 级:
论坛游民
威 望:
2
帖 子:50
专家分:77
注 册:2013-4-14
第
10
楼
收藏
得分:0
if总是与最近的ELSE搭配的!第一个if 判断不成立。第二个else if也不成立,不执行第三个if;
而if与最近的else 搭配,所以else 也不执行,所以printf打印出d的初始值,即d=20.
2013-06-02 09:26
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
为什么结果不是15
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.035353 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved