C新手写题解|编程初学者入门训练之你能活多少秒

你能活多少秒

http://www.nowcoder.com/questionTerminal/e1d1bd99fee34b66ae3c777b74d555c8

题解

这道题的知识点就是C的数据类型

类型 存储大小 值范围
char 1 字节 -128 到 127 或 0 到 255
unsigned char 1 字节 0 到 255
signed char 1 字节 -128 到 127
int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
short 2 字节 -32,768 到 32,767
unsigned short 2 字节 0 到 65,535
long 4 字节 -2,147,483,648 到 2,147,483,647
unsigned long 4 字节 0 到 4,294,967,295
//使用的是C语言
#include<stdio.h>
int main(){
    long int age,second;//需用到长整型
    scanf("%ld",&age);
    second = age * 31560000 ; 
    printf("%ld",second);
    return 0;
}

随便叨叨

一开始,我没用到长整型(直接用的int),出现了输出的结果的报错

段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起

原因是数据太大,导致溢出

资料参考

C 数据类型|菜鸟教程
C 库函数 - printf()|菜鸟教程

全部评论
/*#include<stdio.h> int main(){ long int age,second; scanf("%ld",&age); second = age * 31560000 ; printf("%ld",second); return 0; }*/ //分界处 #include<stdio.h> int main(){ long int age,second; scanf("%1d",&age); second = age * 31560000 ; printf("%1d",second); return 0; } 我对着写的一样啊,为什么显示出来少一个0?</stdio.h></stdio.h>
点赞 回复 分享
发布于 2021-05-15 19:56
这也是错的呢
点赞 回复 分享
发布于 2023-08-09 20:16 浙江
深信服
校招火热招聘中
官网直投

相关推荐

点赞 评论 收藏
分享
理智的马里奥不愿再收感谢信:这小米咱是非去不可了是吗?
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
24 1 评论
分享
牛客网
牛客企业服务