学C时遇到一个问题. 调试书上一个程序的时候,输出老是显示858993460.程序如下:
求一个数的绝对值:
#include<stdio.h>
main()
{
int x;
printf(“input x\n”);
scanf(“d%”,&x);
if(x<0) x=-x;
printf(“%d\n”,x);
}
而另外一个求三数中最大值时,同样没有赋初值,为什么又能正确显示并得到正确的结果呢?程序如下:
#include<stdio.h>
main()
为了在论坛里正常发表帖子,您的浏览器必须支持JavaScript!
{
int a,b,c,max;
scanf(“%d%d%d”,&a,&b,&c);
max=a;
if(b>c)
{if(a<b) max=b;
}
else
{if(max<c) max=c;
}
printf(“max=%d\n”,max);
}
如果我想实现第一个程序(求输入的一个数的绝对值)的功能,又不想借用函数,是否可行,该怎么改?甚急,求助中…..
>> 本文固定链接: http://www.vcgood.com/archives/3171
我试着运行了一下这个程序,得数虽然和你得不一样,但也是固定的,你这个程序应该是没有给出输入值的数据类型,就是scanf(“d%”,&x);应该改为scanf(“%d”,&x);。我也是新手,说不太清楚,但我改过这里之后就可以正常运行了,应该就这一点问题。
是啊,多谢你的提醒.scanf(“d%”,&x);的确应该改为scanf(“%d”,&x);先谢过!