这是我目前的实现方法
fn find(i:i32){i==42}
fn main()->i32{
let mut ans=101;
for i in 0..=100{
if find(i){ans=i;break;}
}
ans
}
我比较好奇,有没有更简短的写法,或者类似的写法是否属于ZCA
我尝试将循环变量i改成ans,结果是ans并不能收到break时候的位置信息
总觉得这种问题用C会很简单,但用rust会罗嗦很多
int ans;
for(ans=0;ans<=100;ans++)if(find(ans))break;
return ans;
有点好奇Rust有没有更简单的写法
1
共 4 条评论, 1 页
评论区
写评论。。。
脑子锈了
就会用for了……
--
👇
lagudomeze: 可以不用for语句吧
用while也可以吧?
--
👇
Neutron3529: 我主要是觉得,循环变量需要多占32bit有点难受
--
👇
whfuyn: 哈?如果ZCA指的是零代价抽象的话,我怎么感觉这里扯不上关系 + 扣性能也不是在这里扣吧 + 这里多半能被优化掉。
可以不用for语句吧
用while也可以吧?
--
👇
Neutron3529: 我主要是觉得,循环变量需要多占32bit有点难受
--
👇
whfuyn: 哈?如果ZCA指的是零代价抽象的话,我怎么感觉这里扯不上关系 + 扣性能也不是在这里扣吧 + 这里多半能被优化掉。
我主要是觉得,循环变量需要多占32bit有点难受
--
👇
whfuyn: 哈?如果ZCA指的是零代价抽象的话,我怎么感觉这里扯不上关系 + 扣性能也不是在这里扣吧 + 这里多半能被优化掉。
哈?如果ZCA指的是零代价抽象的话,我怎么感觉这里扯不上关系 + 扣性能也不是在这里扣吧 + 这里多半能被优化掉。