knrt.net
当前位置:首页 >> C语言mAin() {int A=100,x=10,y=20,ok1=5,ok2=0; >>

C语言mAin() {int A=100,x=10,y=20,ok1=5,ok2=0;

前面的if语句嵌套 最后一个 if(ok2) a=10; 其中ok2=0 所以a=10不执行 所以最后的结果是a=-1

//语言有严格的语法,楼主写错了不少.//建议改正程序,再理解.#include<stdio.h> void main() { int a=100,x=10,y=20,ok1=5,ok2=0; //x=10后面应该是逗号. if (x<y) //这个表达式不成立,直接跳到a=-1执行. if(y!=10) if(!ok1) a=1; //a=后面没有值!!! else if(ok2) a=0; a=-1; printf("%d\n",a); }

ok1 =5;!ok1 = 0 if(!ok1)里的代码就肯定不会执行咯.

语句if()括号中应该是布尔型,像!a这种形式就是判断,如果a=0,!a就取真,就是逻辑值1,如果a不等于0,!a就取假,就是逻辑值0,这里你的ok1=5,!ok1就是假,不懂hi我

[图文] 下面程序的输出是 main() {int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b) if(b! =15) if(! ok1) else if(ok2) x= 10 x=-1 cout<<x<<end1; }

因为x=-1;所以输出-1.

#include void main() { int a=100,x=10,y=20,ok1=5,ok2=0;//ok1,ok2都是变量名而已,相当于x,y if(x if(y!=10)//如果y!=10(定义y=20)则执行. if(!ok1)如果!ok1(ok1=5,也就是!5,!5就是0计算机中只有零和非零判断.)也就是if不执行. a=1; else if(ok2) a=10; a=-1;//单独存在,所以最后a=-1. cout}

#include int main(){ int a=100,x=10,y=20,ok1=5,ok2=0; if (x { if (y!=10) //执行 { if(!ok1) //ok1非零为真,再取非为假,不执行 { a=1; } else //执行 { if(ok2) //ok2为0,逻辑值为假,不执行 { a=10; } } } } a = -1; //最终赋值 printf("%d\n",a); return 0;}这样能看懂吗,把大括号加上去就比较好看了,其实你不用管if语句做了什么事情,在输出a之前对a进行了一次赋值:a = -1;之后就没有对a的操作了,那输出a肯定是-1了

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com