这里你要明白逗号和分号是完全不一样的。A是逗号,连续的逗号是一条语句,不是多条语句,叫做逗号表达式C是分号,分号间隔的是多条语句。所以,C的问题是,if语句的代码块只有第一个分号前的c=a。而后面两条语句不是if代码块的,无论if是否成立都会运行,所以自然有问题
A选项里的赋值语句用“,”分隔开,直到“;”之前都属于一句。if不带大括号{}的情况下只执行后面一句。而C选项c=a;已经是一句,执行到这就跳出if了。