C语言:我想问问,子函数f里的a=c++,b++是怎么执行的?不是赋值高于逗号表达式么?,先做a=

2025-03-13 05:29:28
推荐回答(3个)
回答1:

首先要搞清楚优先级的问题,在此条语句中a=c++,b++;中单目的优先级最高,也就是++得优先级最高,所以先算c++,其次是赋值优先级高,把c++之后的值给了a;最后是逗号运算符,最低再算b;也就可以写成(a=c++),b++;算完括号里边的,再算括号外边的,相当于两个式子,最后它要返回a的值,和b没关系

回答2:

/**
* 将所有的数字都替换成'#'
*/
@Test
public void testReplace() {
String input = "1j2h3h4g5o";
Matcher replace = Pattern.compile("[0-9]").matcher(input);
input = replace.replaceAll("#");
System.out.println(input);
}

回答3:

a=c;
c=c+1;
b=b+1;