c语言关于if的问题

能解释一下每一句的作用吗

#include "stdio.h"
void main()
{
int x=100,a=10,b=20;//这是变量类型声明及赋值语句
int v1=5,v2=0;//作用与上一句相同
if(a<b)//如果a<b成立则执行下面的语句,如果不成立就结束了。本例是成立的。
if(b!=15)//如果b不等于15则执行下面的语句,如果不成立也就结束了。在本例中是成立的。
if(!v1)//如果"非v1"不等于0就执行下面的句子,如果"非v1"等于0就执行else后面的句子。本例中,v1=5,!v1="非v1"=0,则去执行else之后的句子了。
x=1;//给x赋值1。在本例中不执行本句。
else//上面说的不成立时来这里执行。(本例确实来这里了,越过了上一句)
if(v2)//如果v2不等于0成立,往下执行;如果等于0,则去下一个else后面执行。本例中v2=0,应该是去else后面执行的。
x=10;//在本例中本句执行执行不到(越过)
else
x=-1;//在本例中,程序执行这一句给x赋值-1
printf("x is %d\n",x);//打印出x=-1
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-09
int x=100,a=10,b=20;//定义三个整形变量x,a和b,令其分别等于100,10和20
int v1=5,v2=0;//定义两个整形变量v1和v2,令其分别等于5和0
if(a<b)//如果a<b
    if(b!=15)//如果b不等于15
        if(!v1)//如果v1等于0
            x=1;//将1赋值给x
        else//如果v1不等于0
            if(v2)//如果v2不等于0
                x=10//将10赋值给x
            else//如果v2等于0
                x=-1;//将-1赋值给x
printf("x is %d\n",x);//输出x的值

第2个回答  2014-12-09
创建整形变量 x=100 a=10 b=20
同上v1=5 v2=0【他真的不是想用数组么这里
判断a是否小于b【返回真值
上一层是真值判断是否b不等于15【返回真
如果上一层是真值判断非v1是否为真【非
否则
判断v2是否为真【非
如果为真给整数变量x赋值10
否则
给整数变量赋值-1
输出"x is [x的值]"
【最后结果是输出”x is -1“吧好像

噗...
第3个回答  2014-12-09
如果(a<b)并且(b!=15)
如果(v1 !=0) x 等于1

if(v2)是v2 不等于0
相似回答