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