我是个C语言的初学者,问个相关的问题。

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:20:21
哪位帮我解释一下,下面的c运行结果为什么不是3呀?
#include "stdio.h"
void main()
{
int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c++;
printf("%d\n",c);
}

因为 else 是跟最相近的if配对的
if(a<b)不成立
所以下面的
if(b<0) c=0;
else c++;

是不能够执行的

所以c=2

include "stdio.h"
void main()
{
int a=2,b=-1,c=2;
if(a<b)
{
if(b<0) c=0;
}
else c++;
printf("%d\n",c);
}

大哥,你是不是少写了点什么啊。。。。。。
按照现在这个情况,C是不可能等于3的,因为你没有对B做任何处理,它永远等于-1,永远小于0

如果(a<b)那么
{
if(b<0) c=0;
else c++;
printf("%d\n",c);
}

因为a>b 所以 {}内的代码不执行 所以C不是3