逗号表达式的问题,求解
#include <stdio.h>
int main(void)
{
int i = 1, j = -1;
if (i-1,j+1);
printf("能看到我说明if后面的(i-1,j+1)的值不为0\n");
if (!(i-1,j+1));
printf("能看到我说明if后面的(!(i-1,j+1))的值不为0\n");
return 0;
}
逗号表达式的值为最后一项的值,那么为什么i,j的值无论如何改,那两句话总是会输出呢? C?逗号表达式
[解决办法]
你多了个分号
[解决办法]
if (i-1,j+1);
上面已经是完整的一句了,如果条件成立,执行空语句
[解决办法]
#include <stdio.h>
int main(void)
{
int i = 1, j = -1;
//if (i-1,j+1); //分号表示一条语句已经结束了的,就和下一句语句没有联系了
if (i-1,j+1)
printf("能看到我说明if后面的(i-1,j+1)的值不为0\n");
//if (!(i-1,j+1));
if (!(i-1,j+1)
printf("能看到我说明if后面的(!(i-1,j+1))的值不为0\n");
return 0;
}