C语言求绝对值
來源:互聯網 2009-09-07 05:39:15 評論
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
問題描述:
求一个数的绝对值.
main()
{
main()
{int x,y;
scanf(“%d”,&x);
if (x<0) y=-x;
printf (“%d\n”,y);
if (x>0) 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 (x<0) y=-x;
printf (“%d\n”,y);
}
[b]分类:[/b] 电脑/网络 >> 程序设计 >> 其他编程语言[br][b]问题描述:[/b][br]求一个数的绝对值.
main()
{
main()
{int x,y;
scanf(“%d”,&x);
if (x<0) y=-x;
printf (“%d\n”,y);
if (x>0) y=x;
printf (“%d\n”,y);
}
假如,输入-10.结果为:10,10
输入10,结果就为:4211576,10
我就是想求得一个数的绝对值,为什么每次都得到两个结果.实在想不通.[br][b]参考答案:[/b][br]有两个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 (x<0) y=-x;
printf (“%d\n”,y);
}