关于if语句的疑问,可不可以没有mysql中if else语句

23:50 提问
C语言中关于if if-else语句的问题?
运行环境 :VS2013
代码作用:输入三个数然后判断其中最小的一位数然后输出的
#include&stdio.h&
#include&stdlib.h&
int main()
int x, y, z,
scanf_s("%d %d %d", &x, &y, &z);
if (x & y)
else if (y & x)
//这个if不起作用
else if (min & z)
//这样写构成了一个级联的if -else if 语句
printf("%d", min);
system("pause");
代码2如下:
#include&stdio.h&
#include&stdlib.h&
int main()
int x, y, z,
scanf_s("%d %d %d", &x, &y, &z);
if (x & y)
else (y & x)
//删除if后
if (min & z)
//删除else后
printf("%d", min);
system("pause");
这两个程序那个比较好呢?运行的结果都是一样的,不知道1好还是2好。请同胞们给些意见 多谢了!
按赞数排序
不是好不好的问题。第一段、第二段都有严重的错误,不能说好不好,只能说对不对。
在if (...) {} else if (...
) {} else{}这样的判断中,所有的分支只会执行一个。
在你的第一段代码中
if (x & y)
else if (y & x)
//这个if不起作用
else if (min & z)
//这样写构成了一个级联的if -else if 语句
if(x&y)和else if(y&x)几乎是矛盾的。也就是说只有当x==y的时候才会去做最下面的那个min和z的比较。而当做到这个比较的时候,min还是0,
if (x & y)
else (y & x)
//删除if后
else后面不能跟条件。这里应该是语法错误,编译不能通过。如果要改的话,可以
else //(y & x)
//删除if后
第一个代码,后面的if判断是否发生会受到前面判断结果的影响,第二个代码,把else改成if的话(这个错误编译都通过不了)后,是三个if语句,一定会判断三次。
用哪个好,要根据你的逻辑~
先把程序写对再说
第一个程序x=1 y=2 z=0 结果都不对。
因为后面的分支没执行。
第二段代码根本不能编译。
正确写法:
if (y & min) min =
if (z & min) min =
当然是第二种代码好的啊
第一个代码,后面的if判断是否发生会受到前面判断结果的影响,第二个代码,把else改成if的话(这个错误编译都通过不了)后,是三个if语句,一定会判断三次。
用哪个好,要根据你的逻辑~
具体分析已有人回答
用三目运算符简洁而方便
这两段程序都不太对,可以看一下C语言书,关于if-else 里面讲的很清楚的
这个问题有点高难度,我建议你去问你的老师或者公司里的一些同事比较好
其他相似问题

我要回帖

更多关于 c语言if else语句例子 的文章

 

随机推荐