C语言中如何判断if语句输出,加了一个大括号我就不会写了求指导谢谢!
3条回答 默认 最新
- a5156520 2023-09-26 10:30关注
大括号在这里的作用是,划分了一个代码块,大括号里的代码顺序执行;
s=2,是因为执行了第一个if,c=3,大于0,所以执行第一个if里的语句,s=a+b=-1+3=2;
w=0,是因为执行完第一次赋值为0后,后面的相关语句都没执行,具体如下:
第一处:if (a<=0) 满足, 往后执行,if(b>0)满足,往后执行, if(c<=0)不满足,因为c=3;
第二处,else if(c>0),因为前面的if (a<=0)满足,所以后面的else if 就不执行了;
所以,几处w的赋值语句都没执行,所以w的值仍为第一次赋的值:0;
t=0,因为第一次赋值为0后,后面的esle分支里的语句也没执行,同样因为if (a<=0)满足,所以后面的else分支不执行,所以t的值为第一次赋的值:0。
测试如下:
参考链接:C++中大括号{}的作用_c++ 声明变量后接{}-CSDN博客 概述在C/C++中大括号指明了变量的作用域,在大括号内声明的局部变量其作用域自变量声明开始,到大括号之后终结。{ } 里的内容是一个“块”,单独的{ }在执行顺序上没有改变,仍然是顺序执行,例子1void MyProcess(MyType input, MyType &output){ MyType filter = input; { M..._c++ 声明变量后接{} https://blog.csdn.net/f2006116/article/details/89302394C语言条件判断语句:if、else if、else-CSDN博客 1)简单介绍三种形式的条件判断语句:if、else if、elseif:if(表达式) 执行语句if:判断表达式内容,如果为true(真),就执行语句else if:if(表达式) 执行语句else if(表达式1) 执行语句1......(很多的else if)else if(表达式m) 执行语句melse if:如果if的判断没有通过,则进行下面的else..._else if https://blog.csdn.net/qq_31243065/article/details/80924922if…if…和if…else if的区别是什么? - 知乎 如题,学了一年的编程这个问题从来没思考过…最近看刘汝佳的白书看到这个问题,提问一下 https://www.zhihu.com/question/27797637#include <stdio.h> int main(void){ int a,b,c,s,w,t; s=w=t=0; a=-1;b=3;c=3; printf("s=%d,w=%d,t=%d\n",s,w,t); printf("a=%d,b=%d,c=%d\n",a,b,c); if(c>0){ // 因为c大于0,所以这个if会执行,所以执行完这个if,s=a+b=-1+3=2 printf("1, 进入 if (c>0), ") ; s=a+b; printf("s=%d\n",s); } // https://blog.csdn.net/f2006116/article/details/89302394 if(a<=0){ printf("2, 进入 if (a<=0)\n"); if(b>0){ printf("3, 进入 if(b>0)\n"); if(c<=0){ // 这个if里的语句不会执行,因为c=3 printf("4, 进入 if(c<=0) "); w=a-b; printf(",w=%d\n",w); } } // https://blog.csdn.net/qq_31243065/article/details/80924922 // https://www.zhihu.com/question/27797637 }else if(c>0){ // 这个else if里的语句也不会执行,因为前面的if (a<=0)满足,这个else if就不会执行了 printf("5, 进入 else if (c>0)), "); w=a-b; printf("w=%d\n",w); }else{ // 同上, 因为前面的if (a<=0)满足,这个else就不会执行了 printf("6, 进入else , "); t=c; printf("t=%d\n",t); } printf("%d,%d,%d",s,w,t); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
- ¥15 怎么看我在bios每次修改的日志
- ¥15 python+mysql图书管理系统
- ¥15 Questasim Error: (vcom-13)
- ¥15 船舶旋回实验matlab
- ¥30 SQL 数组,游标,递归覆盖原值
- ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
- ¥20 gitlab 中文路径,无法下载
- ¥15 用动态规划算法均分纸牌
- ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据