程序设计,下面两个程序,都输入2,回车,3回车,5回车,为什么输出不一样?

[复制链接]
查看11 | 回复2 | 2011-3-17 03:41:31 | 显示全部楼层 |阅读模式
#include stdio.h
int main ()
{
int m,i,a,min,max;
scanf (\"%d\",
for (i=1;i=m;i)
{
scanf (\"%d\",
if(a%2!=0)
min=0;max=0;

if (a%4==0)
min=a/4;max=a/2;

if (a%4!=0max=a/2;
printf (\"%d %d\\n\",min,max);

}
}















#include stdio.h
int main ()
{
int m,i,a,min,max;
scanf (\"%d\",
for (i=1;i=m;i)
{
scanf (\"%d\",
if(a%2!=0)
{min=0;max=0;}

if (a%4==0)
{min=a/4;max=a/2;}

if (a%4!=0max=a/2;}
printf (\"%d %d\\n\",min,max);

}
}
回复

使用道具 举报

千问 | 2011-3-17 03:41:31 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">#include stdio.h
int main ()
{
int m,i,a,min,max;
scanf (\"%d\",
for (i=1;i=m;i)
{
scanf (\"%d\",
if(a%2!=0)
min=0;max=0;
///这里如果没有花括号括起来,意味着if语句的执行语句只有min=0一条。后面的max=0一句在if之外,即不管if是否为真,max=0都会执行。你的后面的那个例程因为使用了花括号括起来,所以min=0跟max=0会一起执行或者不执行。下同。请注意花括号的使用。

if (a%4==0)
min=a/4;max=a/2;

if (a%4!=0max=a/2;
printf (\"%d %d\\n\",min,max);

}
}

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-1866875\">可是输出的MAX 不是0。为什么哦?
回复

使用道具 举报

千问 | 2011-3-17 03:41:31 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1867353\">因为你的后面还有针对max赋值的语句,如后面的if判断之后的max=a/2。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行