黑马程序员技术交流社区
标题:
大家来帮我看看这个写的有错吗?
[打印本页]
作者:
nooooy
时间:
2012-7-8 01:39
标题:
大家来帮我看看这个写的有错吗?
int age = 15;
char sex = 'f';
if (age<10)
if (sex =='f')
{
Console.WriteLine("小女人");
}
else {
Console.WriteLine("你长大了");
}
Console.ReadKey();
为什么我总觉得有错。。if后面可以直接再跟一个if吗? 这样会不会有冲突?{:soso_e132:}
作者:
钱灿
时间:
2012-7-8 08:07
没有问题啊……if后面可以跟if……
作者:
文硕
时间:
2012-7-8 08:48
问题是你这段程序干什么用的,if语句可以嵌套if语句,但在默认情况下,else语句总是和最近的if语句配对,所以这段程序没有输出结果,是不是需要有大括号{}包含第二个if语句。
作者:
韩迎龙
时间:
2012-7-8 08:49
这样写是没有任何问题的,如果你感觉不明朗,你可以给第一个if也加花括号的,还有在这里你要将age的值改变,写成==15,不然不会得到结果,代码如下:
int age = 15;
char sex = 'f';
if (age == 15)
{
if (sex == 'f')
{
Console.WriteLine("小女人");
}
else
{
Console.WriteLine("你长大了");
}
}
Console.ReadKey();
作者:
孙宁宇
时间:
2012-7-8 09:47
如果你要是认为有错的话 就是你这个不会输出任何东西{:soso_e100:}
其实你要是把 if (age<10)加上大括号的话 你就能把IF结构理清楚
当然这样也是可以的 只是编程习惯的问题
作者:
戴水平
时间:
2012-7-8 09:55
int age = 15;
char sex = 'f';
if (age < 10)
{
if (sex == 'f')
{
Console.WriteLine("小女人");
}
}
else
{
Console.WriteLine("你长大了");
}
Console.ReadKey();
上面是修改后的代码希望对你有所启发,你的代码的意思应该是这样吧?
if age<10 和 sex='f' 就是小女人
否则age>10 就是你长大了。
如果你不加第一个if{}的话,age>10就直接 Console.ReadKey();什么也没有,你的else也是多余的
所以再以后用的时候一定要规范写代码,这样就不会产生不必要的错误
作者:
魏振龙
时间:
2012-7-8 09:55
这样写没有错,但是不符合C#编程规范,建议if后加{}养成良好编程习惯。写程序哪点不确定时,可以设立一个断点单步执行,很容易找出问题的。
作者:
常静华
时间:
2012-7-8 10:51
没有问题的,int age = 15;
char sex = 'f';
if (age<10)
if (sex =='f')
{
Console.WriteLine("小女人");
}
else {
Console.WriteLine("你长大了");
}
Console.ReadKey();
if()后只运行挨着最新的程序!以后的就不归if管了!
如:if(sex>0)
console.write("只运行到这里!");
console.write("这个就不运行!!");
作者:
许楠
时间:
2012-7-8 10:57
我感觉写的也没问题,只不过条理不太清晰,if嵌套if是不会有冲突的
作者:
侯慧杰
时间:
2012-7-8 17:07
没错!if后如果不加{}则表示if后的以;为分割的部分为条件体,你第一个if后面的if else 是一句话,所以没错!
作者:
383105662
时间:
2012-7-8 20:05
if和if的使用嵌套式不会出问题的,但if如果没加{}那么他就只执行if下的一句代码,所以,一般使用都用{}把要循环的代码给{}起来!
作者:
秦永辉
时间:
2012-7-9 09:19
肯定是有问题的,
首先if后面如果要嵌套if的话最好使用{}不然会造成程序出错,你这个程序最后结果是什么也没有显示,原因是:
1.age因为已经有初始值,所以第一个if不会执行
2.if语句的作用域当没有{}的时候执行在第一个分号结束,所以第二的if也不会执行
3.else匹配遵循就近原则,即else只匹配与它最近的if,所以else与第二的if匹配,并且都在第一个if的作用域里面,所以else也不会执行
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2