1.请问输出结果为hehe还是haha?
#include <stdio.h>
int main()
{
int a =0;
int b =2;
if (a==1)
if (b==2)
printf("hehe\n")
else
printf("haha\n")
return 0;
}
想好了吗?
公布答案:什么也不输出
解析:因为 Int a =0,所以if a==1为假,为假也就不执行下面的程序了 ,所以下面是什么程序都没关系了。
那么进阶问题!!!
1.*请问,如果想输出haha要怎样更改代码?
解:
#include <stdio.h>
int main()
{
int a =0;
int b =2;
if (a==1)
{ if (b==2)
printf("hehe\n")
}
else
printf("haha\n")
return 0;
}
2.请问能否打印hehe?
#include <stdio.h>
int main()
{
int num=4;
if (num=5)
{printf("hehe")
}
return 0;
}
答案:不能打印hehe
解析:因为if条件语句不是判断而是赋值,而且这样写就算出来了这样的错误机器也不会报错,不容易发现问题而进行修改,所以为了避免出现此类问题,我们一般最好这样写5==num,把常量放在左边,这样就算等号少打了一个,机器也会报错而有机会方便修改!!!
知识点
*else和离他最近的未匹配的if进行匹配
*if(condition){
return x;
}
的意思就是如果条件成立就返回x,如果不成立就返回y.但是这种代码的可读性不好,所以我们一般不这么用,一般都用标准形式if和else