编译C ++文件时出现“找不到命令”

时间:2020-02-17 05:32:31

标签: c++ linux compilation

我正在编写一个C ++程序,从10倒数到0。

#include <iostream>
using namespace std;
int main() 
{
 int i=10;
while (i> 10){ 
 cout << " count down: " << i << endl; i--;
 }
 return 0; 
 }

以上是我的C ++代码。但是,当我尝试编译它时,出现以下错误:

clang版本7.0.0-3〜ubuntu0.18.04.1(标签/ RELEASE_700 / final)

clang++-7 -pthread -o main main.cpp 

./主要 10 bash:10:找不到命令

3 个答案:

答案 0 :(得分:1)

只需像下面这样更改行while (i> 10)

while (i >= 0)

然后运行并查看输出:

 count down: 10
 count down: 9
 count down: 8
 count down: 7
 count down: 6
 count down: 5
 count down: 4
 count down: 3
 count down: 2
 count down: 1
 count down: 0

答案 1 :(得分:0)

#include <iostream>

using namespace std;


int main(){

    for (int i =10; i >=0; --i)
    {
       cout << " count down: " << i << endl;
    }

    return 0; 

}

答案 2 :(得分:0)

使用While循环

#include <iostream>
using namespace std;

int main()
{
int i=10;    //Declare i inside the main function
while(i>=0,i--)
    cout<<i<<endl;

return 0;
}

或者使用for..loop。

#include<iostream>
using namespace std;

#include <iostream>
using namespace std;

int main()
{
for(int i=10;i>=0;i--) //Declare i locally inside the loop
    cout<<i<<endl;

return 0;
}

循环中包含3个参数。一个开始/初始(i = 10),一个结束条件(i> = 0)和一个计数器(i ++或i--)。我只是在参数括号内声明了反条件。这与在循环结束时声明i--一样,可以提高可读性。另外,您应该阅读范围。

for..loop中的i仅在循环本身内部可用。一旦for..loop退出while(没有双关语),而我在之前声明了第一个声明,它将被销毁。while..loop可以在整个函数中使用,因为它是在主作用域中初始化的。 / p>

For..loop用于了解计数器的范围,而while..loop则用于满足特定条件。

OP 做错了什么,是他在i> 0而不是i> = 0处结束了循环。相差1次迭代就改变了整个输出