一个关于C语言的并列 if 语句 的小问题
假设输入三个数abc,要求按小到大顺序输出,我们可以这样编写添加一个M用来赋值用并列IF来编写,ifa>b,a和b对换m=aa=bb=mifa>c,a和c对换m=aa=c...
假设输入三个数abc,要求按小到大顺序输出,我们可以这样编写添加一个M用来赋值用并列IF来编写,
if a>b ,a 和 b 对换 m=a a =b b= m
if a>c ,a 和c 对换 m=a a =c c=m
if b>c ,b 和 c对换 m=b b=c c=m
假设我输入的是3 1 2
那么第一条语句就会执行,把1的值给了a ,3给了B,可是第二条语句A>C的语句里面的A取值的是3还是1?还是不执行第二条语句,直接执行第三条语句?如果直接执行第三条语句的话那么b的值取的是1还是3?
新手菜鸟不是很懂,请高手帮忙解答下,感激不尽!! 展开
if a>b ,a 和 b 对换 m=a a =b b= m
if a>c ,a 和c 对换 m=a a =c c=m
if b>c ,b 和 c对换 m=b b=c c=m
假设我输入的是3 1 2
那么第一条语句就会执行,把1的值给了a ,3给了B,可是第二条语句A>C的语句里面的A取值的是3还是1?还是不执行第二条语句,直接执行第三条语句?如果直接执行第三条语句的话那么b的值取的是1还是3?
新手菜鸟不是很懂,请高手帮忙解答下,感激不尽!! 展开
5个回答
展开全部
第二句里a就是1了,c还是2,所以不会对换。
直接执行第三条语句,b就是3,执行完后b变成2,c变成3
直接执行第三条语句,b就是3,执行完后b变成2,c变成3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在程序里第二条语句是执行了但是此时a<c,所以跳到执行第三条语句。此时b是3。执行完第三条之后b、c互换,b变为2.如果最后printfabc就会是从小到大的123了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为是输出从小到大的,所以先定义好a储存最小的数,b储存中间数,c储存最大的数
所以就a、b、c两两比较,确保a是最小的,c是最大的即可。
所以就a、b、c两两比较,确保a是最小的,c是最大的即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二句中a就是1了,因为第一句已经将a赋值1.1与2比较,不满足a>c,也就不执行第二句,第三句b是3,第一句将a与b调换了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询