for循环变量的初始化

在刷题时踩了个坑,记录一下


for循环变量初始化的一般方法:

int i;

for(i=0;;)

//或for(int i=0;;),前者i在主函数中定义,后者i是一个局部变量,在for外不能使用

也可以使用如下方法:

int i=0;

for(i;;)


这两种方法都可以,但是在使用多重循环的时候,第二种方法可能会有问题。先看第一种方法:

int i,j;

for(i=0;;)

for(j=0;;)


再看第二种方法(错误)

int i=0,j=0;

for(i;;)

for(j;;)

那么这种方法错在哪里呢?让我们看看一下经过修改后的代码:

int i=0;

for(i;;){

        int j=0;

        for(j;;)

}

有发现这两段代码的区别吗?

这两个代码的区别在于j=0的位置,在第一个代码中,j=0只能对内层循环初始化一次,这就是错误的原因。

在编写中建议使用以下代码,以防忘记,或者养成尽量不省大括号的习惯

int i;

for(i=0;;)

//或for(int i=0;;)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值