选择题 17.  有以下程序:
    #include<stdio.h>
    main()
    {  int a=0,b=0,c=0,d=0;
    if(a=1)b=1;c=2;
    else    d=3;
    printf("%d,%d,%d,%d\n",a,b,c,d);
    }
    程序运行后的输出结果是______。
【正确答案】 A
【答案解析】 C语言中规定else总是和之前与其最近的且不带else的if配对,题目中,if(a=1)b=1;c=2;默认省略的else已经配对了,下一句else没有匹配if,为非法else。另外,if的判断条件a=1是赋值语句,不是判断语句,此处也会产生编译错误。因此,答案为选项A。