| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 340 人关注过本帖
标题:第七行加了分号和不加分号是怎麽运行的
只看楼主 加入收藏
阿盼
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2015-4-19
结帖率:88.89%
收藏
已结贴  问题点数:6 回复次数:3 
第七行加了分号和不加分号是怎麽运行的
#include<stdio.h>
void main()
{
  int a,b,c,x;
  a=b=c=0;x=30;
  if(!a) x--;
  else if(b);//加了分号为什么就成33了呢,不加是29;
      if(c)x-=3;
      else x+=4;
      printf("%d",x);
}
2015-07-01 21:22
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:4 
#include<stdio.h>
void main()
{
  int a,b,c,x;
  a=b=c=0;x=30;
  if(!a) x--;
  else if(b);//加了分号下面的if-else和这里的else没关系单独分析---x--,x+=4就成33
      if(c)x-=3;
      else x+=4;
      printf("%d",x);
}
#include<stdio.h>
void main()
{
  int a,b,c,x;
  a=b=c=0;x=30;
  if(!a) x--;
  else if(b)//不加分号下面的if-else是这里的else if(b)的判断成立的分支也就下面的if-else因为本环节判断false结束x--为29
      if(c)x-=3;
      else x+=4;
      printf("%d",x);
}

剑栈风樯各苦辛,别时冰雪到时春
2015-07-01 21:29
阿盼
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2015-4-19
收藏
得分:0 
偶谢谢
2015-07-01 21:45
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:2 

楼主大人,所有条件语句后面是不能加分号的,
加了,后面的可能语句就被你亲手杀死了,
额~!不是全部
do{

}while;
这种语句不在其中
2015-07-01 23:29
快速回复:第七行加了分号和不加分号是怎麽运行的
数据加载中...
 
   



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

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