size_t size = sizeof(int);
printf("%d\n", size);
int i;
for (i = 0; i < size; i++) {
printf("%d ", i);
}
上面的代码(使用 gcc)输出
4
0 1 2 3
size_t size = sizeof(int);
printf("%d\n", size);
int i;
for (i = -1; i < size; i++) {
printf("%d ", i);
}
此代码(i 初始化为 -1)仅输出 4 并且循环中没有任何内容。
size_t size = sizeof(int);
printf("%d\n", size);
int i;
for (i = -1; i < (int) size; i++) {
printf("%d ", i);
}
添加演员表使代码再次运行良好。输出是
4
-1 0 1 2 3
第二个代码出了什么问题?为什么 printf 在任何地方都不会出错?