黑马程序员技术交流社区

标题: 以下程序的运行结果是________并说明推理过程 [打印本页]

作者: jiangenhao    时间: 2014-4-11 22:36
标题: 以下程序的运行结果是________并说明推理过程
本帖最后由 jiangenhao 于 2014-4-12 22:02 编辑



#include<stdio.h>
main()
{
    int a, b= 250, c;
    if ((c=b)<0){
        a=4;
    }
    else if (b=0)
    {
        a=5;
    }
    else
    {
        a=6;
    }
    printf(”\t%d\t%d\n”,a,c);
    if (c=(b==0))
        a=5;
    printf(”\t%d\t%d\n”,a,c);
    if (a=c=b) a=4;
    printf(”\t%d\t%d\n”,a,c);
}

作者: 从┧靇┟开始    时间: 2014-4-11 23:12
#include<stdio.h>
main()
{
    int a, b= 250, c;
    if ((c=b)<0){ //条件为假往下走且把250赋值给c
        a=4;
    }
    else if (b=0) //条件为假是把0赋值给b
    {
        a=5;      
    }
    else
    {
        a=6;      //把6赋值给a
    }
    printf(”\t%d\t%d\n”,a,c);//a = 6,c = 250
    if (c=(b==0))//由上面知道b==0为真,所以把1给c且条件真
        a=5;      //所以a==5
    printf(”\t%d\t%d\n”,a,c);//a=5,c=1
    if (a=c=b) a=4;    //条件为假 且把0赋值给a和c
    printf(”\t%d\t%d\n”,a,c);
}
因为\t是空出一部分的意思 后应该是            6           250
                                      5              1
                                      0              0
新人练习  不对勿喷  !:)

作者: lewisen    时间: 2014-4-11 23:30
关键在于else与if的结合性




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2