C语言,有一函数:编写程序,输入x值,输出y值。

#include<stdio.h>
void main()
{
int x,y;
scanf("%d%d",&x,&y);
if (x<=1)
y=x;
printf("%d\n",y);
else if(x>1&&x<10)
y=2*x+1;
printf("%d\n",y);
else
y=3*x+1;
printf("%d\n",y);
}
为什么会出错呢

scanf("%d",&x); //y不用输入
if (x<=1)
{ y=x;
printf("%d\n",y);} //条件x<=1成立时,这两句都要执行,所以要用{}变成复合语句。
else if(x>1&&x<10)
{ y=2*x+1;
printf("%d\n",y);} //同上
else
{y=3*x+1;
printf("%d\n",y);} //同上

更好的是:
scanf("%d",&x);
if (x<=1)
y=x;
else if(x>1&&x<10)
y=2*x+1;
else
y=3*x+1; ); // y求值

printf("%d\n",y); //输出y
温馨提示:答案为网友推荐,仅供参考
相似回答