A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 斑马 中级黑马   /  2014-6-6 16:28  /  1182 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 斑马 于 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的值为什么要初始化呢,视频中听李老师讲,不是很明白...

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

6 个回复

倒序浏览
1.局部变量不会自动初始化。

2.不初始化就使用,会访问到垃圾数据。
回复 使用道具 举报
因为n是一个变量  在你这个程序中不初始化值   n就是一个随机值
回复 使用道具 举报
因为第5行要用到n<=0;如果第4行不初始化也行,但第4,5行要改称这样:
int n,i=0;
while(i<=0){}
回复 使用道具 举报
傘が咲く 发表于 2014-6-6 17:16
1.局部变量不会自动初始化。

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

谢啦~明白了...
回复 使用道具 举报
初始化是为了让第五行代码往下执行,让屏幕输出”请输入一个正整数“
回复 使用道具 举报
因为n是一个局部变量,下面的while循环要用到n,所以要对n先进行初始化,的这也是局部变量和成员变量的一个区别,局部变量没有默认的初始化值,,    成员变量在对象创建的时候,会被默认初始化值.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马