作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为一名资深程序员,我们清醒地认识到,即使是不起眼的 for
循环也没有被完全理解。为什么以下程序将单个 1
打印到控制台?我完全希望第一个循环也能产生 1
!使用 -ansi
开关编译。
/* gcc installed version: 4:4.4.4-1ubuntu2 */
#include <stdio.h>
#define SIZE 2
int main()
{
int i;
int a[SIZE];
a[0]=0;
a[1]=1;
for(i=0; (i<SIZE) && (a[i]!=0); i++)
printf("%i\n",a[i]);
for(i=0; i<SIZE; i++)
if (a[i]!=0)
printf("%i\n",a[i]);
return 0;
}
最佳答案
第一个循环相当于:
for(i=0; ; i++) {
if( !((i<SIZE) && (a[i]!=0)))
break;
printf("%i\n",a[i]);
}
关于c - 关于 "for(a, b&&c, d) {...}"和 "for(a, b, d) if(c) {...}"的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12539367/
我是一名优秀的程序员,十分优秀!