C语言中的某个变量能不能连续被赋予值?

代码如下:#includeintmain(){floatx,y;printf("请输入x的值:");scanf("%f",&x);if(x<0)y=0;if(x<=10)... 代码如下:#includeint main(){ float x,y; printf("请输入x的值:"); scanf("%f",&x); if(x<0) y=0; if(x<=10) y=x; else if(x<=20) y=10; else if(x<40) y=-0.5*x+20; printf("输出的x的值为:\y=%f\n",y); return 0;}在这个程序中,如果输入的数值是-5,因为满足条件x<0,所以y=0;程序接着执行时,发现第二个条件x<=0也满足,这样y=-5;如果过这样的话,y就被赋予了两次值,然而y就只有一个存储单元,按理说,-5已经不能被y存储了吧,可是程序运行后y=-5,这是怎么回事?(初学C语言,很多地方不懂,希望过来人能指教指教,谢谢!) 展开
 我来答
dayday_man
推荐于2016-06-08
知道答主
回答量:9
采纳率:0%
帮助的人:2.7万
展开全部
y作为一个变量,可以被多次赋值,当你再一次赋值时,会将上次的值覆盖掉。

在C语言中,当我们定义一个变量y时,系统会在内存中的某个地址分配一个存储单元,用来存放y变量的值,你多次赋值,相当于多次往这个地址的存储单元写数据,只是覆盖而已。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式