728252187 发表于 2020-9-13 17:04:18

C语第14讲

#include <stdio.h>

int main()
{
      int num = 0;
      long sum = 0L; // 0L表示类型为long的0
      int status;

      do
      {
                printf("请输入合法的数字:");
                sum = sum + num;
                status = scanf("%d", &num);
      } while(status == 1);

      printf("结果是:%ld\n", sum);

      return 0;
}

long类型的0是什么意思?它的作用又是什么?

小甲鱼的铁粉 发表于 2020-9-13 17:11:45

应该是和0没什么区别,就是特指说明他是long型的

sunrise085 发表于 2020-9-13 17:14:44

赋值等号后面的这些数字不仅仅只是数字,这些数字其实是常量。这些式子的真正含义是说将常量转化为变量。
整型数字默认是int类型变量。
定义long类型,末尾加上L,说明这个数字是long类型的数字。当数字小的时候,加与不加没什么区别,若数字超过int的范围,那么若不加L则会报错

728252187 发表于 2020-9-13 17:15:03

小甲鱼的铁粉 发表于 2020-9-13 17:11
应该是和0没什么区别,就是特指说明他是long型的

所以作用是啥啊?感觉不是long类型也没得啥影响

728252187 发表于 2020-9-13 17:30:50

sunrise085 发表于 2020-9-13 17:14
赋值等号后面的这些数字不仅仅只是数字,这些数字其实是常量。这些式子的真正含义是说将常量转化为变量。
...

也就说如果单写.
long sum=0;0会默认int,long sum的赋值是int 0

sunrise085 发表于 2020-9-13 17:38:32

728252187 发表于 2020-9-13 17:30
也就说如果单写.
long sum=0;0会默认int,long sum的赋值是int 0

是的,是把int 0 强制转化为 long 类型的变量赋值给 sum

728252187 发表于 2020-9-13 17:46:22

sunrise085 发表于 2020-9-13 17:38
是的,是把int 0 强制转化为 long 类型的变量赋值给 sum

明白了
页: [1]
查看完整版本: C语第14讲