代码需要向函数发送一个int 必须发送只是int 并在函数后显示更改。所以我试过了:
for (Long id : ids) {
Statement stmt;
ResultSet rs;
try {
st = connection.createStatement();
rs = stmt.executeQuery("...");
if (rs.next()) {
Long ft = rs.getLong("followedThem");
rs.close();
st.close();
st = connection.createStatement();
String sql = "...";
if (ft != null && ft == -1) {
sql = x;
} else {
sql = y;
}
st.executeUpdate(sql);
st.close();
} catch (SQLException e) {}
}
}
它打印的数字相同,根本不会改变。帮助
答案 0 :(得分:3)
您必须将参数作为指针传递
void inc(int *px)
{
*px= *px+1;
}
在您的代码中,您只是修改x
的本地副本的函数答案 1 :(得分:0)
一个非常可怕的黑客攻击:
inc((int)&number);
// ...
void inc(int n)
{
++*(int*)n;
}
不要这样做。除了某些古老的架构之外,它不会工作。