这里逗号可要可不要。
举例:for ( i=0,a=5i<100i++ )其中i=0,a=5就是逗号表达式,顺序执行即可,先执行i=0的赋值,然后执行a=5的赋值
如果是:for ( i=0j>4,i<100i++ )
这涉及逗号表达式的取值,执行顺序仍然是顺序执行,取值是逗号表达式最后一个式子的运算结果,如果是赋值语句,则是赋的值的结果。这个例子的循环条件是i<100的满足情况
逗号运算符是C中优先级最低的,被它分隔的表达式将被从左到右依次求值。例如:
for (i = 0, j = strlen(s)-1i <ji++, j--) {
...
}
这里没法用分号,否则会和for中用于隔开循环控制的三个语句的分号混淆在一起。
逗号运算符也适用于其他关系紧密的结构,如交换两个变量的值可以写成
tmp = a, a = b, b = tmp
但应该慎用,分号没啥不好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)