C++ 为什么for()循环语句后面的大括号使我的代码表现不同?
在这张桌子上,我一直坐到10点。这是为什么?如果代码缩进正确,您可以看到第一个for循环只执行一条语句:C++ 为什么for()循环语句后面的大括号使我的代码表现不同?,c++,C++,在这张桌子上,我一直坐到10点。这是为什么?如果代码缩进正确,您可以看到第一个for循环只执行一条语句: #include<iostream> int main() { int n,t,i; cout<<"input a number"<<endl; cin>>n; for(i=1;i<=10;++i) { t=n*i; cout<<t<<endl; } return 0; } 当 #include<iostr
#include<iostream>
int main()
{
int n,t,i;
cout<<"input a number"<<endl;
cin>>n;
for(i=1;i<=10;++i)
{
t=n*i;
cout<<t<<endl;
}
return 0;
}
当
#include<iostream>
int main()
{
int n,t,i;
cout<<"input a number"<<endl;
cin>>n;
for(i=1;i<=10;++i)
t=n*i; // Executed within for loop
cout<<t<<endl;
return 0;
}
任何条件或循环构造if、else、for、while后跟单个语句将仅执行该语句,如果后跟作用域块{},则将执行作用域块内的所有语句
#include<iostream>
int main()
{
int n,t,i;
cout<<"input a number"<<endl;
cin>>n;
for(i=1;i<=10;++i)
{ // Every statement within the scope block is executed in the for loop
t=n*i;
cout<<t<<endl;
}
return 0;
}
相当于:
for(i=1;i<=10;++i)
t=n*i;
cout<<t<<endl;
因此,第一个代码段计算t=n*i 10次,但由于cout@πάντα,只打印t的最后一次计算ῥεῖ 公平的enough@OP-请正确缩进你的代码,这样你就不会有这样的问题了,因为一些奇怪的原因,我看到很多新程序员写的代码都是左对齐的。既然这么多人都在这样做,我想知道他们是从哪里学来这种做法的。最好总是在if/while/for语句中使用大括号,同时缩进代码。使事情变得非常清楚,你问的问题是关于C++语言的基础知识。它表明你需要读一本关于C++的好书来发展对基本概念的理解。这不是通过在互联网上提出狭隘的问题就可以正确学习的东西。什么是BTW?Ant -OP很可能使用过时、古老的Turbo C++编译器。RE:范围块中的所有语句都会被执行,这是因为块是单个语句。也就是说,如果为true,则执行它后面的语句。
for(i=1;i<=10;++i)
t=n*i;
cout<<t<<endl;
for(i=1;i<=10;++i) {
t=n*i;
}
cout<<t<<endl;