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