以下程序的运行结果是int a0,b2,c6 if(ca

2021-01-01 19:29:03 字数 4598 阅读 4139

1楼:夜幕丶

首先if语句a不等于0为假,逻辑值0赋给c,假,执行else语句。b-- - --c

--c先执行c-1=-1,再执行2- (-1)=3

结果为3

2楼:盛南天

首先if语句a不等于0为假,逻辑值0赋给c,执行else语句。

所以答案为负3

以下程序的运行结果是 int a = 1, b = 2, c = 3; if (c = a

3楼:飘零的狐狸

运行结果 应该是2

如果3=1成立打印3

否则打印2

明显不成立

结果是2

4楼:皓灬月当空

c=a是赋值语句恒为真,此时c=1

所以输出为1

下面程序的输出结果为: int a=2,b= -1,c=2; if(a

5楼:匿名用户

因为else子句是与自己最接近的if语句匹配的,所以你的程序即为:

int a=2,b= -1,c=2;

if(aif(b<0)

c=0;

else

c+=1;

}cout<

因为a=2,b= -1;(a

以下程序的运行结果为( )。 main() { int a=2,b=-1,c=2; if

6楼:听不清啊

运行结果为:

3if(a>b) //条件满足if(b>0) c=0; //继续判断,第二个条件不满足else c++; //执行它的“否则”语句

以下程序的运行结果是 int a = 10, b = 50, c = 30; if (a

7楼:听不清啊

程序的运行结果是:

105010

因为a>b为假,所以后续语句不执行,只执行无条件语句c=a;

最后的输出就是:

105010

以下程序的运行结果为什么会是3啊,请高手详细分析一下 main() { int a=2,b=-1,c=3; if(a

8楼:匿名用户

main()

的时候,c语言自动把你这里的else和最近的if关联所以这个else也就是if(b<0)的else,因为if(b<0)这个判断不执行,所以else的内容也跳过,所以程序实际上就是直接执行了printf

以下程序的运行结果是()#includemain() {int a=1 ,b=2,c=3,t=4; while (a

9楼:

答案应该是121,第一次执行,a=2,b=1,c=2时a<b<c相当于2<1<2

当2<1时不成立为0,0<2成立为1,继续执行大括号,结果为121

10楼:睡不着想你了

答案是1,2,1

#include

main()

printf("%d,%d,%d",a,b,c);

}这个程序的难点在于while (a

11楼:小特仑苏的忧伤

我觉得答案是4,1,1

在比较a

12楼:陈世冲

1、2、0

做了两次c--

执行以下程序后,其输出结果是( )。 int a=0,b=0,c=0; c=(a-=a-5)

13楼:天才与麻烦

(a-=a-5)即a=a-(a-5)=5

所以c=5

a=b=0;

所以选b

希望对你有帮助,有问题欢迎追问~

14楼:杨苓门慧心

大哥题都不对。du

inta=0,b=0,c=0;zhi

c=(a-=a-5),(a=b,b+3);

printf(“

dao%d,%d,%d\n”,a,b,c);

按程序运行来讲吧。回

第一句不说了

答...

第二句为逗号表达式。

c=(a-=a-5)

给c赋值,把a-=a-5的结果赋给c;

(a-=a-5)=(a=a-(a-5));

把a=0;代入得a=5;

进而(a-=a-5)的值为5;

c=5;

接下来执行(a=b,b+3);

这里面又有逗号表达式。

a=b;因b=0;故a=0;

b+3;不对任何变量赋值,相当于空语句;

综上所述:a=0;b=0;c=5.

论述完毕.....................

有以下程序 int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; .....

15楼:匿名用户

if(a=1) b=1;c=2;

这一行有bai问题

if和else之间永远du只能有一

条语句zhi,而daob=1;c=2;是两条语句!

c语言一条语句可以写在版多行,权多条语句也可以写在一行,关键是就分号,一个分号到上一个分号(或者是,使多条语句组成一条复合语句。

如果把b=1;c=2;改为b=1,c=2;就可以编译通过了,它的结果是1,1,2,0

原因是if(a=1)是先给a赋值,然后判断a的值,非0则执行if后紧跟的语句,若为0则执行else后跟的语句,这里给a赋值为1,非0,因此执行给b,c赋值的语句,所以结果是1,1,2,0

进一步,如果把if(a=1)改为if(a=0),程序执行流程跟刚才说的一样,但是由于a值为0,因此执行else后的语句,所以最后结果会是0,0,0,3

再进一步,如果把if(a=1)改为if(a==1),那么程序执行的时候,判断a是否等于1,若等于则给bc赋值,否则给d赋值,这里a==0,因此执行else后的语句,结果跟前一种情况一样,会是0,0,0,3

16楼:计运旺湛雀

||int

a=0,b=1,c=2;

//不需要bai解释吧

++a>0

//a成了1,然后做了次du1>0的比较,zhi结果为真

++a>0||++b>0

//由于|dao|之前已经为真,||之后内的表达式容就不执行了,b的值不变

++c;

//if成功,执行下面的语句

你应该是没理解||和&&的估值规则吧。他们的左边是必然会被执行的,但左边执行完之后,右边就不一定了。上面是||,如果&&的话,左边为假则&&右边不执行。

17楼:房子a房子

d,if(a=1),里面的赋值语句是会返回值的。所以,后面对b和c的赋值操作会被执行。

18楼:匿名用户

if(a=1) b=1;c=2;

else d=3;

if 后面有两句,而没有用{}组织成语句块,导致else找不到if

19楼:匿名用户

if(a=1) b=1;c=2;

else d=3;

改为if(a==1)

else

d=3;

编译错是因为花括号问题

20楼:匿名用户

错误出现在else,因为if段已结束,编译器找不到与else对应的if,可以将b=1后分号改为豆号。

21楼:管六

main()

22楼:匿名用户

if(a=1) b=1;c=2; -------------printf(“%d,%d,%d,%d\n”,a,b,c,d);------""不是“”

如何像上述改完,选c

if(a=1) b=1;c=2;--------if(a==1)printf(“%d,%d,%d,%d\n”,a,b,c,d); -------- ""不是“”

如何像上述改完,选b

23楼:匿名用户

printf(“%d,%d,%d,%d\n”,a,b,c,d);

这一行有错

24楼:c姽婳

将“ if(a=1) b=1;c=2; ”改为下面的:

if(a=1)

下列程序运行后的输出结果是,以下程序运行后的输出结果是_______。

1楼 匿名用户 p b p指向 b 0 p b 0 p立 开始循环 累计输出 5 p p指向b 1 p b 1 p输出为 5 4 3 2 换行 下列程序运行后的输出结果是 2楼 匿名用户 n j n t 1就是把n t 的值加上1赋给n j 。 首先循环 for t 0 t 3 t n t 0 之后...

有以下程序,执行后输出结果是,以下程序的输出结果是()。

1楼 乐vov乐 8 17 刚帮你运行了一下 2楼 匿名用户 输出 817 int func int a int b int main 以下程序的输出结果是 。 3楼 表哥傻叼 main int adds int x int y 整个计算过程是这样的 第一次调用adds a b n m m 1 n ...

C语言:下面程序的运行结果是()

1楼 匿名用户 因为i 3 进入switch i 后,执行a 3 后a的值是3 因为没有break语句,它并没退出switch 语句,所以又执行到a 2。a值变成了5。接着,执行break语句,退出switch 执行printf 。 所以选b 2楼 匿名用户 case 3和case 1后面都没有用b...