在自学C语言的过程中,我遇到了一个比较奇怪的问题
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
int i ;
while (i < 10)
{
printf("%d", arr[i]);
i++;
}
return 0;
}
以上代码是无法运行的,其主要原因就是 其中 “i” 是局部变量,而未初始化的局部变量具有不确定值。
解决办法就是:
1.手动为局部变量赋值;
将其中的“ int i” 改成 “int i = 0" ;
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
int i = 0; //未初始化的局部变量具有不确定值,即int i 的值是不确定,需要改成 int i = 0
while (i < 10)
{
printf("%d", arr[i]);
i++;
}
return 0;
2.将局部变量改成全局变量;
int i; 全局变量的默认初始值为0,或者空指针
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
while (i < 10)
{
printf("%d", arr[i]);
i++;
}
return 0;
}
全局变量的默认初始值就是0,可以省略赋值的过程
我也是一个小白,但仍希望能对正在自学的你提供一点帮助