void dibuja(int lineas, char caracter){
int i=0,j=0;
cout<<lineas<<caracter;
for(i = 1; i == lineas; i++){
for(j=i; j<=lineas; j++){
cout<<caracter;
}
cout<<endl;
}
}
所以我有这个代码,当我尝试运行时,编译器返回没有错误,但函数不进入循环。它打印线条和特征,但不是它所支持的三角形。
答案 0 :(得分:1)
看来你的意思是
for(i = 1; i != lineas; i++){
而不是
for(i = 1; i == lineas; i++){
答案 1 :(得分:1)
for循环作为第二个&#34;参数&#34;循环条件...喜欢&#34;循环而...&#34;因为你有i == lineas
它永远不会进入循环。
您应该使用i <= lineas
或i != lineas
答案 2 :(得分:1)
您可能打算在for循环中写for(i = 1; i != lineas; i++)
或for(i = 1; i < lineas; i++)
。
只要条件为真,您就可以将条件视为&#34;执行for
循环中的指令。由于i
在开头不等于lineas
,所以循环根本不会执行。
答案 3 :(得分:1)
for
循环只不过是一个美化的while
循环。
诸如
之类的循环for (init_expression; loop_condition; iterator_expression)
loop_statement;
等于
{
init_expression;
while (loop_condition)
{
loop_statement;
iterator_expression;
}
}
如果您这样看,可能会更容易理解for
循环在i == lineas
为true
时循环。只有当lineas
等于0
时才会使用初始化表达式,然后它将只循环一次,因为下一次迭代(i
等于1
时)条件将不再适用。