【发布时间】:2019-02-24 11:47:30
【问题描述】:
如果我在for 循环内定义int x;,为什么编译器会将x 的值显示为0。但是当从for 循环中删除int x 时,x 的值将变为10。
#include<stdio.h>
int main() {
int x = 0, i;
for(i = 1; i <= 10; i++) {
int x;
x = 10;
}
printf("%d", x);
}
【问题讨论】:
-
内部 x 的范围将持续到 for 循环,而 x=0 的范围将持续到主函数。从大括号的角度来看。
-
1.让编译器发出尽可能多的警告。2。谁教的循环从 1 开始并要求