黑马程序员技术交流社区

标题: 关于选择结构if语句的问题 [打印本页]

作者: tangwanchao    时间: 2015-3-31 17:06
标题: 关于选择结构if语句的问题
在看C语言视频时遇到的关于if语句的问题,在视频中解释if语句的第四种结构时,以下这种写法没有问题可以正常编译与运行
  1. #include <stdio.h>
  2. int main()
  3. {
  4.      int a=10;
  5.      if (a>10)
  6.           printf("A\n");
  7.           printf("B\n");
  8.      return 0;
  9. }
复制代码
但是下面这种写法却编译报错
  1. #include <stdio.h>
  2. int main()
  3. {
  4. if (10>6)
  5. int a =5;
  6. printf("%d\n" , a);
  7. return 0;
  8. }
复制代码
具体问题出在哪?if语句如果没有加大括号怎么执行选择呢?

作者: oucding    时间: 2015-3-31 17:31
你的问题很严重,首先你把a定义在if语句里一定要中括号{},即使if语句里有一行代码,你这样写完,编译器会提示你a没有定义,我猜你是想把a的定义在if语句里,是么?一旦这样了a只存活在if语句中,一旦跳出if语句,a就消失了,你可以这样改:
#include <stdio.h>
int main()
{
    if (10>6){
        int a =5;
        printf("%d\n" , a);
    }
    return 0;
}

作者: tangwanchao    时间: 2015-3-31 17:43
oucding 发表于 2015-3-31 17:31
你的问题很严重,首先你把a定义在if语句里一定要中括号{},即使if语句里有一行代码,你这样写完,编译器 ...

谢谢啦,我是在学习视频时碰到的,现在知道了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2