if常见错误及ifelse用法

问题一: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");
}

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

时间: 2024-08-10 22:12:13

if常见错误及ifelse用法的相关文章

json用法常见错误

Json用法三个常见错误 net.sf.json.JSONException: java.lang.NoSuchMethodException

.Net常见错误

常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用.然而,在C# 中,是值还是引用,是由写这个对象的程序员决定的,而不是实例化对象并赋值的程序员决定的.这往往会坑到 C# 的新手程序员. 如果你不知道你正在使用的对象是否是值类型或引用类型,你可能会遇到一些惊喜.例如:   Point point1 = new Point(20, 30);   Point point2 = point1;   point2.

初学ASP.NET---若干常见错误

最近在学习ASP.NET的相关知识,期间遇到了一些错误,比较常见的错误总结了一下,希望此文能给ASP.NET初学者一些帮助.同时记录这些错误也方便今后自己查看. 1.  GridView"GridView1"激发了未处理的事件"PageIndexChanging". 错误原因:(如下图-1) (图--1) 解决方法: 当出现这种错误的时候,只需要在GridView标签中添加OnPageIndexChanging事件,并使OnPageIndexChanging=&qu

Python 常见错误

1. 1 def func(): 2 return a=3#错误的用法 2. 1 class a: 2 def func():#func至少要有一个self参数 3 ........................... 3. 1 class a: 2 def _init_(self):#__init__ Python 常见错误

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

MySQL主从多种架构部署及常见错误问题解析

本文的主要内容有mysql复制原理,mysql一主多从.双主架构的示例解读,以及mysql在主从复制架构实践中的常见错误问题和解决方法. 一 mysql复制原理 1 原理解读 mysql的复制(replication)是异步复制,即从一个mysql实列或端口(Master)复制到另一个mysql实列的或端口(slave):复制操作由3个进程完成,其中2个(SQL进程和I/O进程)在Slave上,另一个在Master上:要实现复制,必须打开Master端的二进制日志(log-bin),log-bi

coreseek常见错误原因及解决方法

coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索.论坛/站内搜索.数据库搜索.文档/文献检索.信息检索.数据挖掘等应用场景,用户可以免费下载使用 本文为大家整理了coreseek/sphinx中文检索引擎的常见问题和解决方法,感兴趣的同学参考下. Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协

Socket常见错误

一.简介 本文介绍 Socket 连接常见错误.   二.常见错误 1)ECONNABORTED 描述:"software caused connection abort",即"软件引起的连接中止" 原因:当服务和客户进程在完成用于 TCP 连接的"三次握手"后,客户 TCP 发送了一个 RST (复位)   2)ECONNRESET 描述:"connection reset by peer",即"对方复位连接&qu

telnet常见错误及其解决方法

telnet常见错误提示及解决方法 当出现以下问题时,即软件已安装.服务已经启动,查看23号端口却发现,没有此端口,解决方法如下:修改telnet服务配置文件. [[email protected] ~]# rpm -qa telnet* telnet-server-0.17-48.el6.x86_64 telnet-0.17-48.el6.x86_64 [[email protected] ~]# service xinetd start 正在启动 xinetd: [[email protec