'for' loop initial declarations are only allowed in c99 mode

 ubuntu gcc 4.6.3 编译时遇到这个不起眼的错误" error:'for' loop initial  declarations are only allowed in c99 mode",去查了下c99百科,居然就是下面这玩意儿:

c99标准:

       声明不必放在语句块的开头,for 语句提倡这么写 for(int i=0;i<100;++i) 就是说,int i 的声明放在里面,i 只在 for 里面有效。(VC没有遵守这条标准,i 在 for 外也有效;但vc2005里已经默认是i在外面不可见了,但有编译选项可以设置。)

 解决办法:要么i在for外声明,要么可以再编译时加上参数 gcc -std=c99

虽然加上参数就可以了,但是并不是默认支持c99,看来c99真的不受欢迎。

具体请点击:http://www.verydemo.com/demo_c92_i375026.html

你可能感兴趣的:(init)