main()
{int x=1,y=1,z=10;
if(z<0)
if(y>0) x=3;
else x=5;
printf(''%d\t'',x);
if(z=y<0) x=3;
else if(y==0) x=5;
else x=7;
printf(''%d\t,x);
printf(''%d\t'');
}
分别输入什么 ???为什么??详细解释第一个输出的值。
但是答案是1
追答额,,,5的 printf()之前的都没有执行....
如果改成z>0那么printf就是3吗??
追答z=10,z>0,所以if(y>0) x=3 和else x=5 这个语句不会执行。直接执行printf(''%d\t'',x);
另外你程序printf(''%d\t,x) 后面又写了printf(''%d\t'');会在打印完1后打印一个2367460,所以建议你把最后的printf(''%d\t'')去掉。
如果改成if(z>0),那么if(y>0) x=3 被执行,则打印出3.
Z>0已经是真了啊 为什吗不执行if(y>0) x=3;
追答源程序不是z0)
if(y>0) x=3;
else x=5;
printf(''%d\t'',x);
则if(y>0) x=3被执行,然后执行printf("%d\t",x) 这是打印3.
看好题目。
最后一句是我输错了 printf(''%d\t'',Z);Z应该输出多少??
追答你的题目中写的z=0,程序中又赋予初值z=10,你确定一下z的值。
追问z=10
追答由于z=y<0 ,表达式为假,即为0,所以printf("%d\t",z); 打印z为0. 望采纳!
本回答被提问者采纳C语言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0 具体请看下边程序...
int main(void) { int x=1, y=1, z=10;\/\/定义三个数 if(z<0) \/\/此语句为第一句z = 10; 因为10大于0 不成立,不执行下列二三语句,跳转语句四 if(y>0)\/\/\/此语句为第二句属于上一句的if语句 由于上个语句不成立所以不执行, x=3;\/\/\/此语句为第三句同上属于上一句的if语句 由于上个语句不成立...
C语言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0) x=3;
z=y<0是先判断y<0,此表达式值为0,即赋值z=0,然后表达式的值作为if判断条件,它是0,自然不成立了,于是往下执行if(y==0) 这里也不成立,再往下else执行了x=7,于是输出7了
...main ( ) { int x=0,y=0,z=0; if (x=y+z) printf(“***...
答案是B 因为C语言中"="是赋值号;if(x=y+z)是计算出y+z的值然后赋值给x,这个式子是永远成立的,所以会输出***;如果说要改错的话,应该改为if(x==y+z),构成逻辑表达式后,才符合程序设计的初衷。
...<stdio.h>main(){int x=1,y=1;int m n;m=n=1,
首先指出程序中的三处错误,第一个是int m n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一...
c语言中intx=1,y=1,!x||y――的值
首先x=1,为真 其次y=1,为真 x||y的意思是,如果有一个为真,那么都是真 因为x和y都是真,所以x||y都是真。但是这里有一个优先级的问题。!的意思是非,也就是说,如果一个真的值前面加一个!,那么他就是假,如果一个假的值前面加一个!,那么他就是真。 比如!1就是0,!0就是...
main() {int x=2,y=-1,z=2; if(x<y) if(y<0)z=0; else z+=1; prin...
z+=1;这是C里面的典型的摇摆问题,else和距离它最近的if进行匹配,它相当于:if(x<y){if(y<0)z=0;else z+=1;} 而且若像for和while循环,还有一些逻辑判断语句,若下面不带括号,它的作用于只是它紧跟着的唯一一条语句:比如:for(i=0;i<5;i++)printf("%d ",i+1);printf("$ ");...
...h> main() {int x,y,z; x=y=1; z=(++x)+(++y)+(x++); printf("%d...
z=(++x)+(++y)+(x++)我们拆开写,++x此时x=2 ++y此时y=2 x++运行时这个表达式已经是2了,运行结束后x=3 所以z = 2 + 2 + 2 = 6 所以结果是3,2,6
c语言输入x=1输出y=1;
include <stdio.h> int main(){ int x,y;printf("输入x:\\n");scanf("%d",&x);if(x>0)y=1;else if(x<0)y=-1;if(x==0)y=0;printf("y的值为:%d\\n",y);}
一道c语言if条件句的问题
else printf("%d",++y);printf ("%d\\n",x++);} 因为,if(x>y)判断语句下面的if相当是嵌套在第一个if里面,而else要与和它最近的if,也就是与if(y<z),保持一直,也就是说,整个程序可以理解为:include<stdio.h> main(){ int x=1,y=2,z=3;if(x>y){ if(y<z)printf("%d",...
int X=1, y=0;if(!x) y++; else if(x==0) if(
输入0.这个代码你可以这样看 if (!x) y=0;else if (x == 0) if (x) y+=2; else y+=3;这样你应该懂了,不懂再问