if 的控制范围问题


You
You 2023-12-31 02:36:19 48958 赞同 0 反对 0
分类: 资源
这个问题更重要!先给大家写一个程序: # include int main(void) { if (0) printf("I Love You\n"); printf("I Love You Too\n"); return 0; }

if 的控制范围问题

这个问题更重要!先给大家写一个程序:

  1. # include <stdio.h>
  2. int main(void)
  3. {
  4. if (0)
  5. printf("I Love You\n");
  6. printf("I Love You Too\n");
  7. return 0;
  8. }

运行结果:
I Love You Too

为什么“I Love You”没有输出而“I Love You Too”却输出了?因为在C语言中,if 只能控制其后的一个语句。如果要控制多个语句就必须加大括号{}。所以在上面这个程序中 if 只能控制第一个 printf,而 if 后的表达式为 0,所以第一个 printf 不会执行,所以“I Love You”不会输出。而第二个 printf 不在 if 的控制范围内,所以 if 语句执行完之后顺序往下执行第二个 printf,所以“I Love You Too”会输出。

如果希望 if 控制两个 printf 的话就加上大括号,像下面这样:

  1. # include <stdio.h>
  2. int main(void)
  3. {
  4. if (0)
  5. {
  6. printf("I Love You\n");
  7. printf("I Love You Too\n");
  8. }
  9. return 0;
  10. }

这样两个printf都不会输出。

但在讲规范化的时候说过,if、else、for、while、do 后面的执行语句不论有多少行,就算只有一行也要加{}。这是规范问题,大家一定要记住。按规范书写就不容易出错,看着也舒服。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
YouL0
粉丝 0 资源 386 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  132
统信桌面专业版【全盘安装UOS系统】介绍  132
银河麒麟桌面操作系统安装佳能打印机驱动方法  122
银河麒麟桌面操作系统 V10-SP1用户密码修改  111
麒麟系统连接打印机常见问题及解决方法  35
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
麒麟系统连接打印机常见问题及解决方法 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益210.13元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!