int i,k;
for (i=0, k=-1; k=1; i++, k++)
printf("***");
这就要论k==1和k=1的区别了
这个一开始就不会执行啊,k开始等于-1,不等于1,为假,,就跳出循环了。
for循环中k=1是赋值语句,该for循环中没有判断语句,所以说k的值总是等于1,会无限循环
你这个语法有问题吧,k=1又不是判断语句
k=1 在c语言中这个就是true 所以无限循环;如果在java这种语言中 就会报错:Type mismatch: cannot convert from int to boolean
k=1是赋值语句,不是判断语句!
k=1,是赋值语句,由于执行之后k=1,然后for会把这个当成永真了
我反而好奇为什么编译器没报错么,
k=1出错了,这是赋值语句
建议看看if的语法吧
这个for循环属于没有条件,因为条件永真