c++中关于用for循环写三角形遇到问题
为什么前一个写出的不是三角形,能解释下原理吗,forx循环第一个声明不是可以省略吗#include<iostream>usingnamespacestd;voidmain...
为什么前一个写出的不是三角形,能解释下原理吗,forx循环第一个声明不是可以省略吗
#include<iostream>
using namespace std;
void main()
{
int i=1,j=1,n;
n=6;
for(;i<=n;i++)
{
for(;j<=i;j++)
cout<<"*";
cout<<endl;
}
}
#include<iostream>
using namespace std;
void main()
{
int i,j,n;
n=6;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
cout<<"*";
cout<<endl;
}
} 展开
#include<iostream>
using namespace std;
void main()
{
int i=1,j=1,n;
n=6;
for(;i<=n;i++)
{
for(;j<=i;j++)
cout<<"*";
cout<<endl;
}
}
#include<iostream>
using namespace std;
void main()
{
int i,j,n;
n=6;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
cout<<"*";
cout<<endl;
}
} 展开
4个回答
展开全部
从语法上来说是可以省略的,但是你要想生成三角形,for(;j<=i;j++)这句就不能省略了,你本意是要每一行打印多少个*,但是如果你省略了,j值就会在上一次循环已经自加,以至于下一次循环的时候值就不是从1开始了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i=1,j=1,n=6;
for(;i<=n;i++)
{
for(;j<=i;j++)
}
双层循环,外层循环执行一次后内层循环中变量的值已经改变,而它实际上应该有一个初始化的值,j=1,内层中省略了这一步,执行出错
for(;i<=n;i++)
{
for(;j<=i;j++)
}
双层循环,外层循环执行一次后内层循环中变量的值已经改变,而它实际上应该有一个初始化的值,j=1,内层中省略了这一步,执行出错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看到运行结果就应该知道是哪的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询