还是关于一个括号的问题 求助老鸟下
为什么以下这段程序不需要这对红色的括号~~~~我被这些循环的括号搞晕了都~~~知道了帮忙告诉下,在下不胜感激了~~void SortDat()
{
int i,j;
PRO xy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
{
if (strcmp(sell[i].mc,sell[j].mc)<0) /*按产品名称从大到小进行排列*/
{
xy=sell[i];
sell[i]=sell[j];
sell[j]=xy;
}
else if(strcmp(sell[i].mc,sell[j].mc)==0) /*若产品名称相同,则按金额从小到大排列*/
if(sell[i].je>sell[j].je)
{
xy=sell[i];
sell[i]=sell[j];
sell[j]=xy;
}
}
}
搜索更多相关的解决方案:
括号
----------------解决方案--------------------------------------------------------
最好要就是了,不过括号要符题意
void SortDat()
{
int i,j;
PRO xy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
{
if (strcmp(sell[i].mc,sell[j].mc)<0) /*按产品名称从大到小进行排列*/
{
xy=sell[i];
sell[i]=sell[j];
sell[j]=xy;
}
else if(strcmp(sell[i].mc,sell[j].mc)==0) /*若产品名称相同,则按金额从小到大排列*/
if(sell[i].je>sell[j].je)
{
xy=sell[i];
sell[i]=sell[j];
sell[j]=xy;
}
}
}
----------------解决方案--------------------------------------------------------
一句一句看,不要这对括号也不影响程序执行结果。
这段程序只是二个for循环,和if...else语句的使用,for循环贯穿于整个if...else.语句, 所以有无这对括号无所谓。
[此贴子已经被作者于2007-8-25 20:12:32编辑过]
----------------解决方案--------------------------------------------------------
回复:(栖柏)最好要就是了,不过括号要符题意void S...
谢谢你们了啦 ----------------解决方案--------------------------------------------------------
回复:(chen7806)一句一句看,不要这对括号也不影响...
谢谢你们了啦 ----------------解决方案--------------------------------------------------------
那对大括号是多余的,不过要了也不影响。
内层for循环里其实只是一个if...else语句,只不过当条件成立或不成立时都是执行是语句块,是嵌套的if...else语句,所以可以省略那对大括号。
for(...)
for(...)
if(...)
{...}
else
if(...)
if(...)
{...}
----------------解决方案--------------------------------------------------------
回复:(provoke)那对大括号是多余的,不过要了也不影...
Thanks
----------------解决方案--------------------------------------------------------