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

代码如下:#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语言,很多地方不懂,希望过来人能指教指教,谢谢!)

y作为一个变量,可以被多次赋值,当你再一次赋值时,会将上次的值覆盖掉。

在C语言中,当我们定义一个变量y时,系统会在内存中的某个地址分配一个存储单元,用来存放y变量的值,你多次赋值,相当于多次往这个地址的存储单元写数据,只是覆盖而已。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答