读书人

哪位高手见过这种语法?如何理解

发布时间: 2012-09-06 10:37:01 作者: rapoo

谁见过这种语法?怎么理解
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
这就是作用。

根据复合语句的规则,一系列({¥%¥¥@#%#@}) 的表达式的值为最后一个表达式

读书人网 >C语言

热点推荐