1.代码写错了,代码写错不代表就是语法错误,而是你写的代码实现的不是你想要实现的功能。2.你算错了。
检查程序时有时即使调试通过了,在接收大量样例测试时也会出现一些错误,以下是这些错误的其中很小一部分总结。1、数组越界 调用数组元素时使用的索引号超过数组所能提供的索引号的范围。2、未考虑到运算中被除数为0的情况 目前未遇到。3、堆栈溢出(stark overflow)触发原因:(1)变量申请大空间内存(...
从上图可以看出, pmInfo->videoSize = 268435456,pmInfo->videoCnt= 146,二者相乘的结果应该是: 146 * 268435456 = 39191576576 但是,程序输出的结果却是 536870912 ,这很奇怪。 现象分析 其实发生这种现象的原因真的非常白痴,就是 数据溢出 了。以我的机器为例,在 c 语言的计算过程中,所有乘数默认都是 int ...
数据类型定义不对。
你在控制台输入的逗号是中文的;但是两个占位符(%f)之间的逗号英文逗号 10,2//英文逗号(按英文逗号输入)10,2//中文逗号
如果变量是float、但是scanf里面用%d的结果会如何?认为int和float都是4字节,即32bit。根据IEEE754浮点...
由于进制转换问题,浮点数的计算和存储表达成十进制以后是存在偏差的,例如常量的0.3和由表达式a=0.1+0.2计算得到的变量a的值是不相等的。你在这里写的0.999894是一个字面值常量,而alpha[z]可能是计算得到的一个值,这两者实际上可能是不相等的,其他几个变量同理,因而最终结果也是可能有微小...
解析 B 正确答案:B 解析:两个整数相除结果为舍去小数部分的整数,如5/3的结果为1。如果参加运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行运算。根据运算符优先级,先计算括号内的,故选项B)中(1/2)=0,整个表达式的值为0。
输出整型变量c的部分有错误。c应该放在引号的外面,比如下面这样 printf("%d\n",c);...
"请输入a的值\n");scanf("%d", &a);printf("请输入b的值\n");scanf("%d", &b);printf("请输入c的值\n");scanf("%d", &c);sum = a + b + c;///输出double数据应该用%lf,而非%d//printf("和为%d\n", sum);printf("和为%lf\n", sum);return 0;}执行结果:...