我的函数不进入for循环,我不知道为什么
问题描述:
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;
}
}
所以我有这样的代码,当我尝试运行它编译器不返回任何错误,但功能不中环路进入。它打印线条和caracter但不是它的supossed做的三角形。我的函数不进入for循环,我不知道为什么
答
甲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
)条件将不再为真。
答
看来你的意思是
for(i = 1; i != lineas; i++){
,而不是
for(i = 1; i == lineas; i++){
答
for循环采取的第二个“说法”循环条件...类似于“循环,当......”因为你有i == lineas
它永远不会进入循环。
您应该使用i <= lineas
或i != lineas
答
你可能原意是要写for(i = 1; i != lineas; i++)
或for(i = 1; i < lineas; i++)
在for循环。
你能想到的条件为“执行for
循环中的指令,只要条件为真。作为i
开头不等于lineas
,循环没有得到所有执行。
'c'或'C++'决定你的想法。 – Michi