码迷,mamicode.com
首页 > 其他好文 > 详细

if常见错误及ifelse用法

时间:2020-02-25 00:28:16      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:报错   之间   语句   执行   二次   bbb   常见错误   次方   语法   

问题一:if只能控制一个语句,除非加个大括号变成语句块

  例子1:

  if(2>1)

    printf("aaa");

    printf("bbb");

结果会打印  aaabbb

 

  例子2:

  

  if(2>1)

{    

  printf("aaa");

        }

    printf("bbb");

结果会打印aaa

 

问题二:if后面加分号(if后面不能加分号)

 

例子1:

 if(1>2);

  printf("aaa");

结果会打印aaa,相当于if控制了一个空语句

 

问题三:只有else,没有if

 

例子1:

 if(1>2);

  printf("aaa");

 else

  printf(‘bbb");

运行以上代码,结果会报错,因为这里if只控制一行代码,这行代码执行完之后应该立即出现else,然而这里没有立即出现else,导致else接不上if

本例运行完if控制的空语句之后,没有立即出现else,而是隔了一行printf代码

总结:else只能出现在if控制的语句执行完毕之后的位置

 

问题四:else后面加逻辑表达式

if(表达式1)

              A:

else (表达式2)

    B;

运行以上代码,程序会报错,因为else  后面不能添加逻辑表达式

 

问题五:if , else if , else 控制的语句中,只能执行一个

if(表达式1)

              A:

else if(表达式2)

    B;

A和B不可能同时执行,表达式1不成立时才考虑表达式2

                             表达式1和2同时成立,也只会执行A

if和else语法小结

if后面加括号,括号里面写逻辑表达式,括号外面不加分号

下一行写个大括号,把你要控制的语句写到大括号里

写完if要控制的语句之后,写else if ,后面同样加一个括号,括号里面写逻辑表达式,括号外不加分号

同样把要控制的语句写到大括号里

用上大括号后,很明显if和 else if 和else之间其实不能有分号,

if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("该一元二次方程有两个解,x1 = %f, x2 = %f\n", x1, x2);
}
else if (0 == delta)
{
x1 = (-b) / (2*a);
x2 = x1; //左边值赋给右边
printf("该一元二次方程有一个唯一解,x1 = x2 = %f\n", x1);
}
else
{
printf("无解\n");
}

 

if常见错误及ifelse用法

标签:报错   之间   语句   执行   二次   bbb   常见错误   次方   语法   

原文地址:https://www.cnblogs.com/chrr/p/12359576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!