为了账号安全,请及时绑定邮箱和手机立即绑定

hi,大家。为啥开始int之后已经定义了一次i为0了,下面又要定义一次i为1?

/ 猿问

hi,大家。为啥开始int之后已经定义了一次i为0了,下面又要定义一次i为1?

C C# C++
慕斯卡0112955 2017-08-13 14:42:16

#include <stdio.h>

int main()

{

    int i,sum=0;

    i=1;

    while(i <= 100)  //循环条件应该是什么呢?

    {

        sum=sum + i++;

    }

    printf("100以内所有整数之和为:%d\n", sum);

    return 0;

}


查看完整描述

10 回答

?
Camel97

int i 没有给i赋值。。。只是赋值了sum=0

查看完整回答
8 反对 回复 2017-08-13
?
什么鬼_呀你

第一次出现i是定义他的数据类型,下面的便是赋值

查看完整回答
4 反对 回复 2017-08-13
?
bigmathbase


@_@第一句话断句成 int i,    sum=0;

所以是int了一个i然后sum=0

不过这里确实有点多余因为可以直接int i=1,sum=0的

查看完整回答
3 反对 回复 2017-08-13
?
宾丶高

int i,sum=0;

上面这句话并没有对i进行赋值,而只是对sum进行了赋值,等同于下面这句话

int i;
int sum = 0;
所以,在循环前还要对i进行赋值,不然i的值是不确定的,就会出错,如果想后面不再赋值,可以在定义时如下定义
int i=1,sum=0;

查看完整回答
2 反对 回复 2017-08-13
?
qq_懵懂的家伙_03613771

int i,sum=0;.......的意思是int i; int sum=0;i没有还赋值,里面内容不确定的。

查看完整回答
2 反对 回复 2017-08-13
?
Yexiaomo

为了让程序更安全

查看完整回答
2 反对 回复 2017-08-13
?
weixin_慕数据7395770

你需要了解下声明变量,初始化,赋值三者之间的区别。

查看完整回答
1 反对 回复 2017-09-03
?
小杜嘟嘟
def hello():
    print 'hello'


查看完整回答
1 反对 回复 2017-08-14
?
艾尔森


首先i没有定义为0只有给sum初始化为0了 如果想同时初始化为0 需要写为

int i=0,sum=0;

或者将i和sum申请为全局变量

查看完整回答
1 反对 回复 2017-08-14
?
高级程序云

你也直接可以写成 int i = 1;sum = 0;啊

查看完整回答
2 反对 回复 2017-08-13

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信