首页 > 用户发贴区 > 编程问题提问区 > 定义一个变量的时候一定要赋初值吗?
2009
04-30

定义一个变量的时候一定要赋初值吗?

学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);
}


如果我想实现第一个程序(求输入的一个数的绝对值)的功能,又不想借用函数,是否可行,该怎么改?甚急,求助中…..


定义一个变量的时候一定要赋初值吗?》有 2 条评论

  1. jiakun260 说:

    我试着运行了一下这个程序,得数虽然和你得不一样,但也是固定的,你这个程序应该是没有给出输入值的数据类型,就是scanf(“d%”,&x);应该改为scanf(“%d”,&x);。我也是新手,说不太清楚,但我改过这里之后就可以正常运行了,应该就这一点问题。

  2. tienyu 说:

     是啊,多谢你的提醒.scanf(“d%”,&x);的确应该改为scanf(“%d”,&x);先谢过!

留下一个回复