本帖最后由 布鲁兹老爷 于 2015-10-11 00:41 编辑
你这个是作用域问题啊,很简单,你的变量a是最前面定义的。后面没在任何代码块中重新定义一个a,所以你这个a就会贯穿整个main函数。
第一个if里是赋值语句,a = 3 而不是int a =3,很明先影响了第二个if的判断。第二个if里面的a的值就是3,不会执行第二个if里面的语句。
用终端运行时会有警告,但不会报错。可以运行。
我的运行结果是输出表达式1,没有输出表达式2.
- int main()
- {
-
- int a;
- printf("输入一个数");
- scanf("%d",&a);
- if(a = 3) {
- printf("111\n");
- }
- if(a !=3) {
- printf("222");
- }
- return 0;
- }
复制代码
|