0unique0 发表于 2022-11-21 10:41:10

关于int的相关问题

int main()
{
        int i;
        int sum =0;
        int term = 1;
        for(i=1;i<=10;i++)
        {       
                term = term*i;
                sum = sum+term;
        }
        printf("...... = %d",sum);
        return 0;
}


在这个代码里面
那个int sum = 0/1 怎么确定是0还是1?
int sum = 0 是在给sum赋值吗?
int是不是就是定义一下这个函数?

wp231957 发表于 2022-11-21 10:49:48

sum是累加器,不符初始值为0    如何保证结果正确
int就是确定变量类型,当然也可以确定函数返回值的类型
int sum = 0这个就是声明的同时赋值

jackz007 发表于 2022-11-21 12:12:32

本帖最后由 jackz007 于 2022-11-21 14:00 编辑

      int sum = 0; // 定义时赋值,为什么 = 0?因为 sum 是用来累加的变量,所以,需要让初始值为 0,只有这样,sum 的初始值才不会影响累加的结果
      int term = 1 ; // 定义时赋值,为什么 = 1?因为 term 是用来累乘的变量,所以,需要让初始值为 1,只有这样,term 的初始值才不会影响累乘的结果
. . . . . .
      for(i = 1 ; i <= 10 ; i ++)
      {      
                term = term * i;   // term 在循环中用来累乘
                sum = sum + term ;   // sum 在循环中用来累加

homeskating 发表于 2022-11-21 13:06:23

那个int sum = 0/1 怎么确定是0还是1?
0除以除0以外任何数都为0
int sum = 0 是在给sum赋值吗?
给sum赋一个初值
int是不是就是定义一下这个函数?
int main(void){

}
//定义其返回值为int
int sum=0;
//定义其变量为int类型并赋初值为0
页: [1]
查看完整版本: 关于int的相关问题