对不起,对于新问题.我还在学习编程.所以我使用C++,我需要做这样的事情:
int n;
do {
n = get_data();
if(n != -1)
send(n);
} while(n != -1);
Run Code Online (Sandbox Code Playgroud)
这只是一个草图.无论如何,它感觉不到真正的优雅.我必须进行两次测试.我可以只测试一次并设置一个标志,但由于我必须两次检查标志,所以感觉并不真实.似乎应该有一种方法可以更容易地做到这一点,因为它很容易做我想做的事情.
Eug*_*ota 19
int n;
while (-1 != (n = get_data())) {
send(n);
} // while
Run Code Online (Sandbox Code Playgroud)
SCF*_*nch 17
与eed3si9n类似,但可以说更容易理解:
int n;
while (n = get_data(), n != -1)
{
send(n);
}
Run Code Online (Sandbox Code Playgroud)
Cha*_*lie 15
怎么用break:
int n;
while(1) {
n = get_data();
if(n == -1)
break;
send(n);
}
Run Code Online (Sandbox Code Playgroud)
这样您只需测试一次,如果get_data没有返回您想要的内容,则立即退出.
Jon*_*han 11
for (int n = get_data(); n != -1; n = get_data()) {
send(n);
}
Run Code Online (Sandbox Code Playgroud)