gpt4 book ai didi

c - 重写 C 表达式,无需 continue 和 break

转载 作者:行者123 更新时间:2023-11-30 20:07:21 24 4
gpt4 key购买 nike

在学校练习(纸上)中,我有这个问题:

5)重写代码,不使用 continue 和 break:

for (i = 0; i < N; i++) {
scanf("give me an int %d", & a);
if (a < 0) {
continue;
}
if (a == 0) {
break;
}
/* elaborate positive int */
}
<小时/>

我正在考虑这个:

for(i=0;i<N;i++){

scanf("give me an int %d",&a");

if(a==0){return -1; //??i dont know how to exit}
if(a<0){
do{
scanf("give me an int %d",&a");
if(a==0){return -1; //??i dont know how to exit}
}while(!(a<0))
}
/* elaborate positive int */
}

但是,我实际上无法做到这一点..你能帮助我吗?谢谢:)

最佳答案

可能不是您的老师想要的,但这实际上是最简单的方法:

a = INT_MAX;
for(i = 0; i < N && a != 0; i++) {
scanf("give me an int %d", &a);
if(a > 0) {
/* elaborate positive int */
}
}

不使用return的原因是您只想退出/重新启动循环。该函数可能包含更多不应跳过的内容。

那个 scanf 调用看起来是错误的..你真的想每次都输入“给我一个 int ..”吗?

关于c - 重写 C 表达式,无需 continue 和 break,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14319198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com