A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int a, b= 250, c;
  5.     if ((c=b)<0) a=4;//c=250
  6.     else if (b=0) a=5;
  7.     else a=6;//a=6
  8.     printf(”\t%d\t%d\n”,a,c);
  9.     if (c=(b==0))
  10.         a=5;
  11.     printf(”\t%d\t%d\n”,a,c);
  12.     if (a=c=b) a=4;
  13.     printf(”\t%d\t%d\n”,a,c);//a=0,c=0
  14. }
复制代码

6 个回复

正序浏览
什么叫 else向上找if  ????
回复 使用道具 举报
这种其实挺简单的也就是从最后一个else找上个括号对应的括号 最好能用TAB键把代码分开
回复 使用道具 举报
大神解释真详细:victory:
回复 使用道具 举报
wslinke 发表于 2015-4-11 22:59
#include
int main()
{

谢谢大神指点!
回复 使用道具 举报
#include <stdio.h>
int main()
{
    int a, b= 250, c;
    if ((c=b)<0) a=4; //先将b的值赋给c,c=250,再判断c是否小于0,c这时等于250,判断不成立跳到else中,a=4这行就被跳过了;
    else if (b=0) a=5; //将b的值赋为0,此时判断条件为b,即0,为假,跳过a=5
    else a=6;//以上条件均不成立,到这里 a=6
    printf(”\t%d\t%d\n”,a,c);// 此时a=6,b=0,c=250
    if (c=(b==0)) // 由于b==0,所以将真,即1赋给c,条件为1,成立,执行a=5;
        a=5;
    printf(”\t%d\t%d\n”,a,c); //a=5,b=0,c=1
    if (a=c=b) a=4; // 先执行c=b,c为0,再执行a=c,a为0,在判断a的值,为0,即条件为假,跳过a=4;
    printf(”\t%d\t%d\n”,a,c);//a=0,b=0,c=0
}

点评

清晰详细,点赞  发表于 2015-4-15 23:07

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报 2 0
您需要登录后才可以回帖 登录 | 加入黑马