谁见过这种语法?怎么理解
int i,j;
for(i = 0; (i < 9) && ({j = i; true;}); i++)
{
/* 语句 */
}
[解决办法]
int i,j;
for(i = 0; (i < 9) && ({j = i; true;}); i++)
{
/* 语句 */
}
等同于
int i,j;
for(i = 0; i < 9; i++)
{
/* 语句 */
}
(i < 9) && ({j = i; true;}) 复合判断条件,({j = i; true;})均为true
[解决办法]
多上这句(j = i; true;} 就是为了同步的把i赋值给j
这就是作用。
根据复合语句的规则,一系列({¥%¥¥@#%#@}) 的表达式的值为最后一个表达式