猿问
下载APP

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

#include <stdio.h>

int main()

{

    int i,sum=0;

    i=1;

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

    {

        sum=sum + i++;

    }

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

    return 0;

}


慕斯卡0112955
浏览 3927回答 10
10回答

Camel97

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

什么鬼_呀你

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

bigmathbase

@_@第一句话断句成 int i,    sum=0;所以是int了一个i然后sum=0不过这里确实有点多余因为可以直接int i=1,sum=0的

宾丶高

int i,sum=0;上面这句话并没有对i进行赋值,而只是对sum进行了赋值,等同于下面这句话int i;int sum = 0;所以,在循环前还要对i进行赋值,不然i的值是不确定的,就会出错,如果想后面不再赋值,可以在定义时如下定义int i=1,sum=0;

qq_懵懂的家伙_03613771

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

Yexiaomo

为了让程序更安全

weixin_慕数据7395770

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

小杜嘟嘟

def hello():     print 'hello'

艾尔森

首先i没有定义为0只有给sum初始化为0了 如果想同时初始化为0 需要写为int i=0,sum=0;或者将i和sum申请为全局变量

高级程序云

你也直接可以写成 int i = 1;sum = 0;啊
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答