
c语言中if语句如果可以不用加上else是不是就最好不加上去?
例如:if(m%i==0)return0;return1;答案给的是不加上else但是加上else之后程序出来的结果是一样的,请问这样有什么区别吗?...
例如:if(m % i == 0) return 0;
return 1;
答案给的是不加上else 但是加上else之后程序出来的结果是一样的,请问这样有什么区别吗? 展开
return 1;
答案给的是不加上else 但是加上else之后程序出来的结果是一样的,请问这样有什么区别吗? 展开
11个回答
展开全部
不一样。
return只是给了电脑一个信号,在屏幕上是不显示什么的。你看不出来到底是一个什么样的过程。
if(m % i == 0) return 0; return 1;//这个是说如果(m % i == 0),那么return 0,否则不执行,接着会执行return 1;这个是连个return都会执行。
if(m % i == 0) return 0;
else
return 1;
但是这个就不一样了,这个是说以(m % i == 0)为依据,从 return 0和 return 1中选择一个执行。
我随便写了一个,你运行一下就知道了。一次完整的运行,一次把else去掉。
#include<stdio.h>
main()
{
int i,k,j;
scanf("%d",&i);
scanf("%d",&j);
k=i+j;
if(k==5)
printf("%d",k);
else
printf("cuowu");
}
去掉else以后你试着用2和3,应该是5,但是cuowu这个字也会出现。
return只是给了电脑一个信号,在屏幕上是不显示什么的。你看不出来到底是一个什么样的过程。
if(m % i == 0) return 0; return 1;//这个是说如果(m % i == 0),那么return 0,否则不执行,接着会执行return 1;这个是连个return都会执行。
if(m % i == 0) return 0;
else
return 1;
但是这个就不一样了,这个是说以(m % i == 0)为依据,从 return 0和 return 1中选择一个执行。
我随便写了一个,你运行一下就知道了。一次完整的运行,一次把else去掉。
#include<stdio.h>
main()
{
int i,k,j;
scanf("%d",&i);
scanf("%d",&j);
k=i+j;
if(k==5)
printf("%d",k);
else
printf("cuowu");
}
去掉else以后你试着用2和3,应该是5,但是cuowu这个字也会出现。
展开全部
这应该取决于你在else所指示的情况下,需不需要做相应的逻辑处理,如果不用处理那就不写,反之写上else并作处理。
另
你所给的例子中的两个return是在不同的区域返回的,一个在if语句中返回,一个在所有的语句执行完后返回,跟加不加else没关系。
另
你所给的例子中的两个return是在不同的区域返回的,一个在if语句中返回,一个在所有的语句执行完后返回,跟加不加else没关系。
追问
#include
#include
intprime(int m)
{ int i, n;
if(m == 1) return 0;
n= sqrt(m);
for(i = 2; i <= n; i++)
if(m % i == 0) return 0
(5)
}
就是这一段程序,其中第五空就是我说的那个问题。因为是选择题 答案有加上else的 和没有加上else的 只能选一个 这个什么情况啊?
追答
这个题再考你对for循环的理解,这里应该是不加的。for循环没有加{}
如果加了的话:
for(i = 2; i <= n; i++)
{
if(m % i == 0)
return 0
(5)//这里就要加else
}
但是本题没加,那么for循环的循环体就是他的下一行代码,这个是默认的
也就是说不加{}的情况下
for(i = 2; i <= n; i++)
if(m % i == 0) return 0;
这两行代码是个整体,当然不能把它们分开来去加个else 那就错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if语句加else(如果true就执行......否则false就执行......)或者不加是要看你写的语句要实现什么功能,如果你一个语句判断的是true的话,并不需要判断false的情况,是不需要写的。如果是函数的话,写完之后最好加上一个return返回值或者表示程序的语句结束!
希望帮助到你了,还有疑问,可以百度HI我!
希望帮助到你了,还有疑问,可以百度HI我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有什么最好不最好的,当加不加都是相同的流程时,你爱加不加,随便得很,没有规定非得加,也没有规定禁止加。C语言足够的灵活,不要被某些规范给吓着了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个是嵌套if,一个是嵌套else,其实两个都能用。比如,输入一个数a判断是0还是正数还是负数,如果是0,a=0,如果是正数a=1,如果是负数a=-1,代码1:if(a<=0){if(a==0)a=0;else
a=-1;}else
a=1;
。代码2:if(a<0)a=-1;
else
if(a==0)a=0;
else
a=1;
。看,两种方法都能实现。
a=-1;}else
a=1;
。代码2:if(a<0)a=-1;
else
if(a==0)a=0;
else
a=1;
。看,两种方法都能实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |