黑马程序员技术交流社区

标题: 关于初始化的问题 [打印本页]

作者: 斑马    时间: 2014-6-6 16:28
标题: 关于初始化的问题
本帖最后由 斑马 于 2014-6-7 01:09 编辑
  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int n = 0;
  5.     while (n<=0){
  6.     printf("请输入一个正整数\n");
  7.     scanf("%d",&n);
  8.     }
  9.    
  10.     int sum = 0;
  11.     int count = 0;
  12.     while (count < n) {
  13.         count++;
  14.         sum += count;
  15.         }
  16.         printf("和是%d\n",sum);
  17.         return 0;
  18. }
复制代码

第四行n的值为什么要初始化呢,视频中听李老师讲,不是很明白...
作者: 傘が咲く    时间: 2014-6-6 17:16
1.局部变量不会自动初始化。

2.不初始化就使用,会访问到垃圾数据。
作者: a1130003724    时间: 2014-6-6 17:18
因为n是一个变量  在你这个程序中不初始化值   n就是一个随机值
作者: 王海江1    时间: 2014-6-6 17:40
因为第5行要用到n<=0;如果第4行不初始化也行,但第4,5行要改称这样:
int n,i=0;
while(i<=0){}
作者: 斑马    时间: 2014-6-6 21:30
傘が咲く 发表于 2014-6-6 17:16
1.局部变量不会自动初始化。

2.不初始化就使用,会访问到垃圾数据。

谢啦~明白了...

作者: 每天进步一点点    时间: 2014-6-6 21:50
初始化是为了让第五行代码往下执行,让屏幕输出”请输入一个正整数“
作者: 北极£莜蓝    时间: 2014-6-6 22:08
因为n是一个局部变量,下面的while循环要用到n,所以要对n先进行初始化,的这也是局部变量和成员变量的一个区别,局部变量没有默认的初始化值,,    成员变量在对象创建的时候,会被默认初始化值.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2