c语言副函数求绝对值 c语言复数的绝对值

C语言求绝对值分类:电脑/网络程序设计其他编程语言
问题描述:
求一个数的绝对值.
main()
{
main()
{int x,y;
scanf("%d",x);
if (x0) y=-x;
printf ("%d\n",y);
if (x0) y=x;
printf ("%d\n",y);
}
假如,输入-10.结果为:10,10
输入10,结果就为:4211576,10
我就是想求得一个数的绝对值,为什么每次都得到两个结果.实在想不通.
解析:
有两个printf 就会输出两次,
你输入-10,执行了y=-x; printf ("%d\n",y); printf ("%d\n",y); 三条语句,就是y=10和打印2次y 。
你输入10 , 执行了printf ("%d\n",y); y=10;printf ("%d\n",y); 三条语句 , 第一个printf的y没有赋值,所以从内存直接读取值4211576 。
如果不用ABS函数,可以这样写
main()
{int x,y;
scanf("%d",x);
y=x;
if (x0) y=-x;
printf ("%d\n",y);
}
C语言中有没有求绝对值的函数?。啃恍唬?/h2>C语言中求绝对值的函数有两个:abs()和fabs() 。
1、abs()是用来求整型表达式的绝对值,比如:abs(x)就是求整型变量x的绝对值 。
2、fabs()是用来求浮点型表达式的绝对值,比如:abs(x)就是求浮点型变量(float型或double型)x的绝对值 。
根据你的数据是int,long,还是double型,要用不同的函数
#include math.h
iy=abs(ix);//int型
ly=labs(lx);//long型
dy=fabs(dx);//double型
扩展资料:
C语言其他常用函数:
1、atof:将str指向的字符串转换为一个double型的值,返回双精度计算结果 。
2、atoi:将str指向的字符串转换为一个int型的值,返回转换结果 。
3、exit:中止程序运行 。将status的值返回调用的过程 。
4、labs:计算long型整数num的绝对值,返回计算结果 。
5、random:产生0到num之间的随机数,返回一个随机(整)数 。
函数是一组一起执行一个任务的语句 。每个 C 程序都至少有一个函数,即主函数 main(),所有简单的程序都可以定义其他额外的函数 。
您可以把代码划分到不同的函数中 。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的 。
函数声明告诉编译器函数的名称、返回类型和参数 。函数定义提供了函数的实际主体 。
C 标准库提供了大量的程序可以调用的内置函数 。例如,函数 strcat() 用来连接两个字符串 , 函数 memcpy() 用来复制内存到另一个位置 。
函数还有很多叫法,比如方法、子例程或程序,等等 。
定义函数
C 语言中的函数定义的一般形式如下:
return_type function_name( parameter list )
{
body of the function
}
参考资料来源:百度百科-C语言函数
c语言绝对值函数C语言中求绝对值的函数有两个:abs()和fabs() 。
1、abs()是用来求整型表达式的绝对值,比如:abs(x)就是求整型变量x的绝对值 。
2、fabs()是用来求浮点型表达式的绝对值,比如:abs(x)就是求浮点型变量(float型或double型)x的绝对值 。
扩展资料
函数调用的一般形式为
函数名(实参表列);
如果是调用无参函数,则"实参表列"可以没有,但括弧不能省略 。如果实参表列包含多个实参 , 则个参数间用逗号隔开 。实参与形参的个数应相等,类型应一致 。
实参与形参按顺序对应,一一传递数据 。但应说明,如果实参表列包括多个实参 , 对实参求值的顺序并不是确定的,有的系统按自左至右顺序求实参的值,有的系统则按自右至左顺序
方式
按函数在程序中出现的位置来分,可以有以下三种函数调用方式:

推荐阅读