关于C语言if函数

main() {
int a=1,b=2,c=5,d=4,x=0; if(a>b) if(c<d) x=1;
else if(a>c) if(b<d) x=2;
else x=3;
else x=6;
else x=7;
printf("%d",x);
getch();
}
这么多else,这个程序怎么看?输出结果怎么是7?

main() {
int a=1,b=2,c=5,d=4,x=0; if(a>b) { if(c<d) x=1;
else if(a>c) { if(b<d) x=2;
else x=3; }
else x=6; }
else x=7;
printf("%d",x);
getch();
}
以上代码已经整理好了。因为第一if已经不满足,直接执行最后一个else,所以,结果是7. 针对这种问题,最好的方法是先用大括号把各个子句分好。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
main(){
int a=1,b=2,c=5,d=4,x=0; if(a>b)
{
if(c<d)
x=1;
else if(a>c)
{
if(b<d)
x=2;
else
x=3;
}
else
x=6;
}
else
x=7;
printf("%d",x);
getch();
}每个临近的if 和else是一对我把格式整理了一下,这回就可以看懂了吧。很容易看出结果等于7本回答被网友采纳
第2个回答  2020-04-23
//这里没有放上头文件<stdio.h>
main()
{
int
a=3,b=3,c=5;

if(c=a+b)
{printf("yes\n");//这里的语法有错!if的条件应该是这样写c==a+b,

else
/*错误地方,为什么错那?*/
//这里没有的大括号没有引回去,

printf("no\n");}

getch();

}
/*if...else...的语法结构应该是这样的:

if(条件)

{

语句1

}
else
{

语句2
}
*/

更正之后如下:
#include
<stdio.h>
main()
{

int
a=3,b=3,c=5;

if(c==a+b)

{

printf("yes\n");

}
else

{

printf("no\n");

}
getch();
}
第3个回答  2014-05-18
else 与就近的 if 配对

告诉你个好方法,用代码编辑器,比如 vim,让它帮你格式化下代码,就层次分明了 :)
第4个回答  2015-05-31
  IF函数一般是指Excel中的IF函数,根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),根据逻辑计算的真假值,从而返回相应的内容。可以使用函数 IF 对数值和公式进行条件检测。
  函数语法:
  IF(logical_test,value_if_true,value_if_false)
  Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。
  例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(一个标记或符号,指定表达式内执行的计算的类型。有数学、比较、逻辑和引用运算符等。)。
  Value_if_true logical_test 为 TRUE 时返回的值。
  例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0(零)。如果要显示 TRUE,则请为本参数使用逻辑值 TRUE。value_if_true 也可以是其他公式。
  Value_if_false logical_test 为 FALSE 时返回的值。

  例如,如果本参数为文本字符串“超出预算”而且 logical_test 参数值为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且忽略了 value_if_false(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。如果 logical_test 为 FALSE 且 value_if_false 为空(即 value_if_true 后有逗号,并紧跟着右括号),则本参数返回 0(零)。VALUE_if_false 也可以是其他公式。
  说明:
  ·在EXCEL2003中 函数 IF 可以嵌套七层,在EXCEL2007中可以嵌套256层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。

  · 在计算参数 value_if_true 和 value_if_false 后,函数 IF 返回相应语句执行后的返回值。
  · 如果函数 IF 的参数包含数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量),则在执行 IF 语句时,数组中的每一个元素都将计算。
  · WPS表格 还提供了其他一些函数,可依据条件来分析数据。例如,如果要计算单元格区域中某个文本字符串或数字出现的次数,则可使用 COUNTIf 工作表函数。如果要根据单元格区域中的某一文本字符串或数字求和,则可使用 SUMIf 工作表函数。请了解关于根据条件计算值。
  ·如果判断标准有汉字内容,则在汉字前后加上英文状态下的双引号""G2
  (例如:IF(G2="成都",400,200))
  函数示例:

  1 数据
  2 50

  公式:=IF(A2<=100,"Withinbudget","Overbudget")
  说明(结果):如果上面的数字小于等于100,则公式将显示“Withinbudget”。否则,公式显示“Overbudget”。(Withinbudget)
  公式:=IF(A2=100,SUM(B5:B15),"")
  说明(结果):如果上面数字为100,则计算单元格区域B5:B15,否则返回空文本("")

  
相似回答