早教吧 育儿知识 作业答案 考试题库 百科 知识分享

若有以下程序#include“stdio.h”main(){inta=1,b=2,c=3,d=4;if((a=2)||(b=1))c=2;if((c==3)&&(d=-1))a=5;printf("%d,%d,%d,%d\n",a,b,c,d);}则程序的输出结果是A.2,2,2,4B.2,1,2,-1C.5,1,2,-1D.1,2,3,4具体步骤是什么?为什么

题目详情
若有以下程序
#include“stdio.h”
main()
{ inta=1,b=2,c=3,d=4;
if ((a=2) || (b=1))c=2; if ((c==3) && (d=-1)) a=5;
printf("%d,%d,%d,%d\n",a,b,c,d);
} 则程序的输出结果是
A.2,2,2,4 B.2,1,2,-1 C.5,1,2,-1 D.1,2,3,4
具体步骤是什么?为什么最后d为什么不是-1?
▼优质解答
答案和解析
= 是赋值语句.==才是判断语句
#include "stdio.h"
main()
{
int a=1,b=2,c=3,d=4;
if ((a=2) || (b=1)) //把2赋值给a a=2为真 所以b=1不执行
c=2; //c=2
if ((c==3) && (d=-1)) //这部 c=2为假 所以 d=-1不执行.
a=5; //所以a=5不执行
printf("%d,%d,%d,%d\n", a,b,c,d); //
}
// 答案 2,2,2,4