c语言 结果为0怎么算的
2个回答
展开全部
#include <stdio.h>
int main()
{
/* 此程序中若是 x = 0, 虽然 if 语句和 else if 语句都符合条件, 但是根据编译原理的排他性, 会执行先判断 if 条件, 成立就不会再做 else if 的条件判断了, 这个问题你没有问, 但是最好别写这样的程序, 做练习, 判断逻辑可以尝试, 但是做软件的话, 这会是潜在的灾难性错误
*/
int x = 1, y = 0;
if (!x) // x = 1, 那么 !x 即为 0, 所以 if 后面的语句不执行
{
y++; // 不执行
}
else if (x == 0) // x = 1, 所以此 else if 语句不执行
{
if (x) // 写在这里的 x 会永远不会执行, x = 0, 就不可能非零, 所以此 if 语句永不执行
{
y += 2;
}
else // x = 0 时, 执行此语句, 但是 x = 1, 所以此语句不执行
{
y += 3;
}
}
printf("%d\n", y); // 所以经过以上的运算, y 值等于初值 0 不变
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询