C语言 定义调用函数 求分段函数

#include <stdio.h>
int sign(int x);
int main()
{
int x,y;
y=sign(x);
printf("%d",y);
}
int sign(int x)
{
int y;
scanf("%d",&x);
if(x>0)
y=1;
else if(x=0)
y=0;
else
y=-1;
return y;

}

这个程序输入0 输出是-1 不知道哪里错了,,刚学C语言 求指导

第1个回答  推荐于2016-08-13
int sign(int x)
{
 int y;
 scanf("%d",&x);
 if(x>0)
 y=1;
 else if(x==0)//判断语句是==不是=号
 y=0;
 else
 y=-1;
 return y;
 
}

追问

一个等号和2个等号有什么区别呢

追答

2个等号是判断语句,比如你的x == 0,判断x是否等于0

一个等号是赋值语句,比如x = 0;那么x的值就是0

本回答被提问者采纳
第2个回答  2016-01-13
c语言分段函数:
%d",44到77,打上来的乘号用•
if(44<100)
k=0;k,输出2x;,k题目;%d"=77)
k=3•,输入x的数字大小必须在0到100之间;100)
{
if(0<,77到100;error"。我写的为什么没有错误;x;=x<。0到44,结果确是错的;
if(77<打出来的;
scanf("44)
k=2•x<,&x),输出3x;
if(0<x<
}
else
printf(":"。

main()
{
float x;Input,k);x<
printf("
printf("?因为我是手机提问;);),输出0

);0&&x</ /:\用int型
printf("
if(x>;%d"2x");3x");/
else if(x>=44&&x<=77)
printf("注意不能写成0<44)
printf("
}
else
printf("
int main(void)
{
int x;n"
scanf("100的形式;stdio;x<error"0&&x<
return 0;);100) /#include <;
{
if(x>.h>
else
printf("Input;);0",&x)
=40&&x<
应该是k=3*x;kif(44<
而且if()里的判断条件要改为x>=x<=77)
k=3•
判断错误 应为if(0<x&&x<100) 其他if判断都是如此
if(里面不能用连判断符号,只能用 44<=x&&x<=77才行)。
第3个回答  2016-01-14
#include<stdio.h>
//写好加法函数,以便调用
int sum(int x1,int x2)
{
int x3=x1+x2;
return x3;
}
void main()
{
int a=0;
int b=0;
int c=0;
printf("请输入两个整数\n");
scanf("%d%d",&a,&b);
c=sum(a,b);//传递参数给sum()函数,返回他们的和
printf("%d+%d的和是:%d\n",a,b,c);
}
相似回答