C语言条件不能写,-1<=i<1;应该要写-1<=i && i<1
哈喽你好呀!
首先呢,你这里语法是有错误的,我们不能用学数学的思维去写C,也就是我们不能去写 -1<=i<1 我们要去使用&& 去连接一下 也就是 -1<=i && i<1 他的意思翻译过来就是: i要小于1并且i要大于-1的意思呢。
然后对于您说的结果跟您预期的不一样这是因为,for中的第二个语句,它的含义并不是很明确。具体来说,这个循环条件实际上被转化为了两个比较运算符的链式表达式,然而这种写法并没有按照您期望的方式进行比较。在 C++ 中,这种形式的连续比较是可以进行编译的,但是其执行结果并不一定符合您的预期,且可能会因为不同的编译器实现而产生差异。
所以按上面的那个方法改了之后就可以得到预期的一个答案啦!
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a = 1;
int i = -2;
for(;-1 <= i && i < 1; i++)
{
a++;
cout << a << endl;
}
cout << i << endl;
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转直角三角形图案。
对于问题的具体描述和代码片段,参考资料中并没有提供相关的信息,因此无法进行解答。请提供更完整的问题和代码片段,或者描述更详细的背景和需求,以便能够针对性地给出解决方案。