c语言
艾渃曼丶
这个作者很懒,什么都没留下…
展开
-
简单的表达式改写解决c语言的运算过程中的数据溢问题
在c中数据溢出是一个常见问题。其中数据在存储中的溢出是一个常见问题,而运算过程中也会出现数据的溢出。例:同一条c语句nums[i+1] - nums[i] != 1//Line 19: Char 26: runtime error: signed integer overflow: 2147483647 - -2147483647 cannot //be represented in type 'int' (solution.cpp)对于一个升序数组[1,2,3]来说,并不会出原创 2021-01-10 11:48:23 · 2129 阅读 · 1 评论 -
PTA 7-2 然后是几点 (15分)
7-2然后是几点(15分)有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。输入格式:输入在一行中给出2个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔..原创 2020-09-23 21:35:50 · 1497 阅读 · 2 评论 -
一种数值越界的输出方法
6-10阶乘计算升级版(20分)本题要求实现一个打印非负整数阶乘的函数。函数接口定义:void Print_Factorial ( const int N );其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。裁判测试程序样例:#include <stdio.h>void Print_Factorial ( const int N );int main(){ ..原创 2020-09-23 17:17:18 · 385 阅读 · 0 评论 -
printf(“%.1f\n“,8/5)的输出结果为什么是0.000000
原因在于printf函数printf函数不会进行任何类型转换,它只是从内存中读出你所提供的元素的值。8/5的算术表达式的到的是一个整型常量1,它被以整型存储在内存中。printf("%d\n", sizeof(8.0/5.0));printf("%d\n", sizeof(8/5));printf("float: %d\n", sizeof(float));printf("int: %d\n", sizeof(int));在我的环境下,float和int均为四字节,而浮点常量则是以8原创 2020-07-16 18:13:17 · 2654 阅读 · 0 评论