关于C语言的基础 求大虾帮助

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:14:59
假设所有变量均已正确说明,下列程序段运行后X的值:
a=b=c=0;
x=35;
if(!a)x--;
else if(b);
if(c) x=3;
else x=4;

我觉得应该是34,可运行出来是4 为什么 请大虾帮助 在线等

if(c)条件不成立,故x赋值为4,34绝对不可能,要么是3,要么是4

a=b=c=0;
x=35;

if(!a)x--; // x == 34

else if(b); // 注意这有个“;”,是个空语句。如果没有“;”的话,最后结果就是34了

if(c) x=3;
else x=4; // x == 4 是对的

if(!a)x--;
else if(b);

if(c) x=3;
else x=4;

两个if ~else 为并列关系
if(c) x=3;
else x=4;结果为4